Commit ebbd7da8 authored by Michal Čihař's avatar Michal Čihař

Use file format class loader instead of ttkit wrapper

parent fc6bfdd3
...@@ -37,7 +37,7 @@ from datetime import datetime, timedelta ...@@ -37,7 +37,7 @@ from datetime import datetime, timedelta
import weblate import weblate
from lang.models import Language from lang.models import Language
from trans.formats import ttkit from trans.formats import AutoFormat
from trans.checks import CHECKS from trans.checks import CHECKS
from trans.models.subproject import SubProject from trans.models.subproject import SubProject
from trans.models.project import Project from trans.models.project import Project
...@@ -141,7 +141,8 @@ class Translation(models.Model): ...@@ -141,7 +141,8 @@ class Translation(models.Model):
def clean(self): def clean(self):
''' '''
Validates that filename exists and can be opened using ttkit. Validates that filename exists and can be opened using
translate-toolkit.
''' '''
if not os.path.exists(self.get_filename()): if not os.path.exists(self.get_filename()):
raise ValidationError( raise ValidationError(
...@@ -392,9 +393,8 @@ class Translation(models.Model): ...@@ -392,9 +393,8 @@ class Translation(models.Model):
''' '''
Loads translate-toolkit storage from disk. Loads translate-toolkit storage from disk.
''' '''
return ttkit( return self.subproject.file_format_cls.load(
self.get_filename(), self.get_filename()
self.subproject.file_format
) )
@property @property
...@@ -994,7 +994,7 @@ class Translation(models.Model): ...@@ -994,7 +994,7 @@ class Translation(models.Model):
def merge_store(self, author, store2, overwrite, merge_header, add_fuzzy): def merge_store(self, author, store2, overwrite, merge_header, add_fuzzy):
''' '''
Merges ttkit store into current translation. Merges translate-toolkit store into current translation.
''' '''
# Merge with lock acquired # Merge with lock acquired
with self.subproject.get_git_lock(): with self.subproject.get_git_lock():
...@@ -1045,7 +1045,7 @@ class Translation(models.Model): ...@@ -1045,7 +1045,7 @@ class Translation(models.Model):
def merge_suggestions(self, request, store): def merge_suggestions(self, request, store):
''' '''
Merges contect of ttkit store as a suggestions. Merges contect of translate-toolkit store as a suggestions.
''' '''
from trans.models.unitdata import Suggestion from trans.models.unitdata import Suggestion
ret = False ret = False
...@@ -1087,9 +1087,13 @@ class Translation(models.Model): ...@@ -1087,9 +1087,13 @@ class Translation(models.Model):
''' '''
# Load backend file # Load backend file
try: try:
store = ttkit(fileobj) # First try using own loader
store = self.subproject.file_format_cls.load(
fileobj
)
except: except:
store = ttkit(fileobj, self.subproject.file_format) # Fallback to automatic detection
store = AutoFormat.load(fileobj)
# Optionally set authorship # Optionally set authorship
if author is None: if author is None:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment