Fix weblate upload

Julien LepillerSat Aug 28 17:12:50+0200 2021

de6b829

Fix weblate upload

offlate/systems/weblate.py

5555
    def updateFileList(self):
5656
        self.files = []
5757
        ans = requests.get(self.data['instance'] + '/api/projects/' +
58-
                self.data['project'] + '/components',
58+
                self.data['project'] + '/components/',
5959
                auth=HTTPBasicAuth('Token', self.conf['token']))
6060
        if ans.status_code == 200:
61-
            l = json.loads(ans.text)['results']
61+
            l = list(filter(lambda x: x['is_glossary'] == False, json.loads(ans.text)['results']))
6262
            self.files = l
6363
        else:
6464
            print(ans.text)

117117
            source_lang = l['source_language']['code']
118118
119119
        ans = requests.get(self.data['instance'] + '/api/translations/' +
120-
                self.data['project'] + '/' + slug + '/' + self.lang + '/file',
120+
                self.data['project'] + '/' + slug + '/' + self.lang + '/file/',
121121
                auth=HTTPBasicAuth('Token', self.conf['token']))
122122
        encoding = ans.encoding if ans.encoding is not None else 'utf-8'
123123
        if ans.status_code == 200:

125125
                f.write(ans.text.encode(encoding))
126126
127127
        ans = requests.get(self.data['instance'] + '/api/translations/' +
128-
                self.data['project'] + '/' + slug + '/' + source_lang + '/file',
128+
                self.data['project'] + '/' + slug + '/' + source_lang + '/file/',
129129
                auth=HTTPBasicAuth('Token', self.conf['token']))
130130
        encoding = ans.encoding if ans.encoding is not None else 'utf-8'
131131
        if ans.status_code == 200:

146146
                    self.data['project'] + '/' + slug['slug'] + '/' +
147147
                    self.lang + '/file/',
148148
                    files={'file': (os.path.basename(filename), open(filename, 'rb'))},
149-
                    #data={'conflicts': 'replace-translated',
150-
                    #    'method': 'translate'},
151-
                    auth=HTTPBasicAuth('Token', self.conf['token']))
149+
                    headers={"user-agent": "offlate", "Accept": "application/json",
150+
                        "Authorization": 'Token '+self.conf['token']},
151+
                    data={'conflicts': 'replace-translated',
152+
                        'method': 'translate'})
153+
                    #auth=HTTPBasicAuth('Token', self.conf['token']))
152154
            print(ans)
153155
            print(ans.text)
154156
            i += 1

172174
                    'lang': self.lang})
173175
            else:
174176
                raise UnsupportedFormatException(ff['file_format'])
177+
175178
            self.slugs.append(myslug)
176179
            content[slug['slug']] = myslug.content()
177180
        return content