San Francisco city leaders were exultant Saturday after the controversial Patriot Prayer group was forced to shut down a planned demonstration due to threats of violence.

Mayor Ed Lee praised counter-demonstrators who had marched across the city, as well as those who marched near the designated site for the protest. ““They made sure the themes of love and compassion dominated over hate speech,” he said at City Hall, according to SFGate.com.

Bay Area public radio station KQED reported that leaders in San Francisco and Alameda counties — where a similar rally was denied a permit in Berkeley — had used “a series of legal maneuvers and bureaucratic red tape.”

They were assisted in their efforts by threats of violence from so-called “anti-fascist” activists, or “Antifa,” who openly preach violence as a way to stop speech — not just “hate speech,” but conservative speech in general.

Mayor Lee labeled the right-wing protests as violent in advance, telling a rally Friday: “[T]hey have a message that we don’t believe in — a message of hate. … That message can easily translate into violence.”

Joey Gibson, the leader of Patriot Prayer, held a press conference Saturday at which he blamed Mayor Lee and House Minority Leader Nancy Pelosi for inciting violence, including by labeling his group as a white supremacist organization.

Left-wing activists who marched against Patriot Prayer, both at the intended demonstration site and at alternative venues across the city, celebrated their achievement. “We shut down” the protest, one activists told the San Jose Mercury News, adding: “I think we accomplished a lot.”

In addition to right-wing protesters, the city of Berkeley has also tried to exclude the U.S. Marines, infamously declaring in 2008 that they were “not welcome in our city.”

Joel B. Pollak is Senior Editor-at-Large at Breitbart News. He was named one of the “most influential” people in news media in 2016. He is the co-author of How Trump Won: The Inside Story of a Revolution, is available from Regnery. Follow him on Twitter at @joelpollak.