Skip to content

Commit

Permalink
servers: get family version from api if it exists
Browse files Browse the repository at this point in the history
  • Loading branch information
m4rc1e committed Dec 8, 2023
1 parent c4eaefa commit aeb3513
Showing 1 changed file with 22 additions and 3 deletions.
25 changes: 22 additions & 3 deletions Lib/gftools/push/servers.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,16 +32,23 @@
config = ConfigParser()
config.read(config_fp)
SANDBOX_META_URL = config["urls"]["sandbox_meta"]
SANDBOX_VERSION_URL = config["urls"]["sandbox_versions"]
PRODUCTION_META_URL = config["urls"]["production_meta"]
PRODUCTION_VERSION_URL = config["urls"]["production_versions"]
DEV_META_URL = config["urls"]["dev_meta"]
DEV_VERSION_URL = config["urls"]["dev_versions"]
SANDBOX_FAMILY_DOWNLOAD = config["urls"]["sandbox_family_download"]
DEV_FAMILY_DOWNLOAD = config["urls"]["dev_family_download"]

else:
SANDBOX_META_URL = os.environ.get("SANDBOX_META_URL")
SANDBOX_VERSION_URL = os.environ.get("sandbox_versions")
PRODUCTION_META_URL = os.environ.get("PRODUCTION_META_URL")
PRODUCTION_VERSION_URL = os.environ.get("production_versions")
DEV_META_URL = os.environ.get("DEV_META_URL")
SANDBOX_FAMILY_DOWNLOAD = os.environ.get("SANDBOX_FAMILY_DOWNLOAD")
DEV_FAMILY_DOWNLOAD = os.environ.get("DEV_FAMILY_DOWNLOAD")
DEV_VERSION_URL = os.environ.get("dev_versions")


@lru_cache
Expand Down Expand Up @@ -72,14 +79,21 @@ def __init__(
name: str,
url: str = PRODUCTION_META_URL,
dl_url: str = PROD_FAMILY_DOWNLOAD,
version_url: str = PRODUCTION_VERSION_URL,
):
self.name = name
self.url = url
self.dl_url = dl_url
self.version_url = version_url
self.families: dict[str, Family] = {}
self.designers: dict[str, Designer] = {}
self.metadata: dict[str, FamilyMeta] = {}
self.axisregistry: dict[str, Axis] = {}
self.family_versions = json.loads(requests.get(self.version_url).text[5:])
self.family_versions = {
i["name"]: i["fontVersions"][0]["version"]
for i in self.family_versions["familyVersions"]
}

def compare_push_item(self, item: Items):
server_item = self.find_item(item)
Expand All @@ -103,10 +117,15 @@ def update_axis_registry(self, axis_data):
self.axisregistry[axis["tag"]] = Axis.from_gf_json(axis)

def update_family(self, name: str):
family = Family.from_gf(name, dl_url=self.dl_url)
if family:
self.families[name] = family
family_version = self.family_versions.get(name)
if family_version:
self.families[name] = Family(name, family_version)
return True
else:
family = Family.from_gf(name, dl_url=self.dl_url)
if family:
self.families[name] = family
return True
return False

def update_family_designers(self, name: str):
Expand Down

0 comments on commit aeb3513

Please # to comment.