mirror of
https://github.com/Findus23/matomo-utils.git
synced 2024-09-19 15:13:44 +02:00
58 lines
1.4 KiB
Python
58 lines
1.4 KiB
Python
|
from typing import Dict
|
||
|
|
||
|
import requests
|
||
|
|
||
|
from config import *
|
||
|
|
||
|
s = requests.Session()
|
||
|
s.headers.update({"Authorization": "Token " + token})
|
||
|
|
||
|
|
||
|
def lock_component(component, unlock=False):
|
||
|
lock = not unlock
|
||
|
lock_url = component["lock_url"]
|
||
|
r = s.post(lock_url, data={"lock": lock})
|
||
|
print(r.json())
|
||
|
r.raise_for_status()
|
||
|
|
||
|
|
||
|
def update_setting(component, settings: Dict):
|
||
|
component_url = component["url"]
|
||
|
r = s.patch(component_url, data=settings)
|
||
|
if r.status_code > 200:
|
||
|
print(r.json())
|
||
|
r.raise_for_status()
|
||
|
|
||
|
|
||
|
components = {}
|
||
|
|
||
|
r = s.get(url + "projects/matomo/components/")
|
||
|
|
||
|
data = r.json()
|
||
|
count = data["count"]
|
||
|
for comp in data["results"]:
|
||
|
components[comp["slug"]] = comp
|
||
|
|
||
|
while data["next"]:
|
||
|
r = s.get(data["next"])
|
||
|
data = r.json()
|
||
|
for comp in data["results"]:
|
||
|
components[comp["slug"]] = comp
|
||
|
|
||
|
assert len(components) == count
|
||
|
|
||
|
phpcomponents = {slug: comp for slug, comp in components.items() if not comp["is_glossary"]}
|
||
|
|
||
|
community_components = {slug: comp for slug, comp in components.items() if "Community" in comp["name"]}
|
||
|
|
||
|
official_components = {slug: components[slug] for slug in set(phpcomponents) - set(community_components)}
|
||
|
|
||
|
for slug, comp in phpcomponents.items():
|
||
|
print(slug, comp["name"])
|
||
|
print(comp["check_flags"])
|
||
|
update_setting(comp, {
|
||
|
"check_flags": "php-format,ignore-optional-plural"
|
||
|
})
|
||
|
# lock_component(comp)
|
||
|
# print("locked")
|