Skip to content

Commit

Permalink
Font installation and removal bug fixes fontman/fontman-desktop#21
Browse files Browse the repository at this point in the history
  • Loading branch information
lpsandaruwan committed Feb 19, 2017
1 parent 82bad77 commit 131f8e1
Show file tree
Hide file tree
Showing 5 changed files with 35 additions and 20 deletions.
1 change: 1 addition & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ before_install:
- pip3 install -r requirements.txt
- pip3 install pyinstaller
- pyinstaller --onefile core-runnner.py
- chmod +x dist/core-runnner
- tar -zcvf dist/core-runnner-darwin-x64.tar.gz dist/core-runnner
- ls dist/
install: true
Expand Down
37 changes: 25 additions & 12 deletions blueprint/fonts_controller.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,9 @@ def find_all_fonts():
"fontfaces": fontfaces_list,
"isInstalled": font.is_installed,
"isUpgradable": font.is_upgradable,
"name": font.name
"license": metadata.license,
"name": font.name,
"version": metadata.version
}
)

Expand All @@ -70,6 +72,21 @@ def install_font_by_font_id(font_id):
return jsonify(response)


@fonts_blueprint.route("/fonts/<font_id>/remove")
def remove_font_by_font_id(font_id):
FontManager().remove_font(font_id)

return jsonify(True)


@fonts_blueprint.route("/fonts/<font_id>/update", methods=["POST"])
def update_font_by_font_id(font_id):
json_data = request.json
FontService().update_by_font_id(font_id, json_data)

return jsonify(True)


@fonts_blueprint.route("/fonts/")
def find_by_query():
response_data = []
Expand All @@ -79,14 +96,18 @@ def find_by_query():
chosen_fonts = FontService().find_all_chosen()

for font in chosen_fonts:
metadata = MetadataService().find_by_font_id(font.font_id).first()
fontfaces = FontFaceService().find_by_font_id(font.font_id)
languages = LanguageService().find_by_font_id(font.font_id)
metadata = MetadataService().find_by_font_id(font.font_id).first()

default_resource = ""
fontfaces_list = []
languages_list = []

for fontface in fontfaces:
if "Regular" in fontface.fontface:
default_resource = fontface.resource_path

fontfaces_list.append(
{
"fontface": fontface.fontface,
Expand All @@ -101,7 +122,8 @@ def find_by_query():
{
"fontId": font.font_id,
"isChosen": font.is_chosen,
"defaultFontface": metadata.default_fontface,
"defaultFontface": font.name + "-" + metadata.default_fontface,
"defaultResource": default_resource,
"displayText": font.name,
"fontfaces": fontfaces_list,
"isInstalled": font.is_installed,
Expand All @@ -122,12 +144,3 @@ def update_all_fonts():
FontService().update_all(json_data)

return jsonify(json_data)


@fonts_blueprint.route("/fonts/<font_id>/update", methods=["POST"])
def update_font_by_font_id(font_id):
json_data = request.json
print(json_data)
FontService().update_by_font_id(font_id, json_data)

return jsonify(True)
4 changes: 2 additions & 2 deletions session.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@


# fontman server
# api_base_url = "http://104.197.248.93:8080/api/v1alpha"
api_base_url = "http://127.0.0.1:8080/api/v1alpha"
api_base_url = "http://130.211.178.68:8080/api/v1alpha"
# api_base_url = "http://127.0.0.1:8080/api/v1alpha"

# fontman version
version = "0.1.0-SNAPSHOT"
Expand Down
4 changes: 2 additions & 2 deletions utility/CacheManager.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,8 @@ def update_font_cache(self):
}
)

installed_font = InstalledFontService().find_by_font_id(font_id)
if installed_font.first() is not None:
installed_font = InstalledFontService().find_by_font_id(font_id).first()
if installed_font is not None:
if installed_font.version != font_data["version"]:
FontService().update_by_font_id(
font_id,
Expand Down
9 changes: 5 additions & 4 deletions utility/FontManager.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
Created by Lahiru Pathirage @ Mooniak<[email protected]> on 28/12/2016
"""

from consumer import FontsConsumer
from service import FontFileService
from service import FontService
from service import InstalledFontService
Expand Down Expand Up @@ -97,7 +96,7 @@ def get_active_fonts_list(self):

return font_data

def install_font(self, font_id, rel_id):
def install_font(self, font_id):
font_dir = "./data/" + font_id
sys_font_dir = self.__system.font_directory
artifacts_dir = "./data/" + font_id + "/extracted"
Expand All @@ -107,12 +106,12 @@ def install_font(self, font_id, rel_id):
metadata = MetadataService().find_by_font_id(font_id).first()

FileManager().download_file(
font_dir + "/" + font_data.name,
font_dir + "/" + font_data.name + ".zip",
metadata.download_url
)

FileManager().extract_file(
font_dir + "/" + font_data.name,
font_dir + "/" + font_data.name + ".zip",
artifacts_dir
)

Expand All @@ -123,6 +122,8 @@ def install_font(self, font_id, rel_id):
artifacts_dir, ".ttf"
)

print(fontfaces)

for fontface in fontfaces:
if "Windows" in self.__system.platform:
fixed_install_font(fontface["file_path"])
Expand Down

0 comments on commit 131f8e1

Please sign in to comment.