| OLD | NEW | 
 |    1 import os | 
 |    2  | 
|    1 from flask import Flask, send_from_directory, jsonify, request |    3 from flask import Flask, send_from_directory, jsonify, request | 
|    2  |    4  | 
|    3 app = Flask(__name__) |    5 app = Flask('mock_api') | 
|    4 app.request_log = [] |    6  | 
 |    7  | 
 |    8 def load(rootdir, zipdir): | 
 |    9     app.request_log = [] | 
 |   10     app.config['zipdir'] = zipdir | 
 |   11     app.config['info'] = {'files': [], 'languages': []} | 
 |   12     app.config['supported_languages'] = [] | 
 |   13  | 
 |   14     for root, locales, files in os.walk(rootdir): | 
 |   15         for locale in locales: | 
 |   16             files = [] | 
 |   17             app.config['supported_languages'].append({'crowdin_code': locale}) | 
 |   18             app.config['info']['languages'].append({ | 
 |   19                 'code': locale, | 
 |   20                 'can_translate': 1, | 
 |   21                 'can_approve': 1, | 
 |   22             }) | 
 |   23  | 
 |   24             for translations in os.listdir(os.path.join(root, locale)): | 
 |   25                 files.append({'name': translations, 'node_type': 'file'}) | 
 |   26  | 
 |   27             app.config['info']['files'].append({ | 
 |   28                 'name': locale, | 
 |   29                 'files': files, | 
 |   30                 'node_type': 'directory', | 
 |   31             }) | 
 |   32  | 
 |   33     return app | 
|    5  |   34  | 
|    6  |   35  | 
|    7 @app.before_request |   36 @app.before_request | 
|    8 def log_request_info(): |   37 def log_request_info(): | 
|    9     log = (request.url, str(request.get_data())) |   38     app.request_log.append((request.url, str(request.get_data()))) | 
|   10     app.request_log.append(log) |  | 
|   11  |   39  | 
|   12  |   40  | 
|   13 @app.route('/api/project/test/info', methods=['GET']) |   41 @app.route('/api/project/test/info', methods=['GET']) | 
|   14 def info(): |   42 def info(): | 
|   15     return jsonify( |   43     return jsonify(app.config['info']) | 
|   16         { |  | 
|   17             'languages': [ |  | 
|   18                 { |  | 
|   19                     'name': 'German', |  | 
|   20                     'code': 'de', |  | 
|   21                     'can_translate': 1, |  | 
|   22                     'can_approve': 1, |  | 
|   23  |   44  | 
|   24                 }, |  | 
|   25                 { |  | 
|   26                     'name': 'English', |  | 
|   27                     'code': 'en', |  | 
|   28                     'can_translate': 1, |  | 
|   29                     'can_approve': 1, |  | 
|   30  |   45  | 
|   31                 }, |   46 @app.route('/api/project/test/edit-project', methods=['POST']) | 
|   32  |   47 def edit(): | 
|   33             ], |   48     return jsonify() | 
|   34             'files': [ |  | 
|   35                 { |  | 
|   36                     'node_type': 'directory', |  | 
|   37                     'name': 'en', |  | 
|   38                     'files': [ |  | 
|   39                         { |  | 
|   40                             'node_type': 'file', |  | 
|   41                             'name': 'translate.json', |  | 
|   42                             'created': '2016-09-26 08:30:07', |  | 
|   43                             'last_updated': '2016-09-26 08:30:08', |  | 
|   44                             'last_accessed': None, |  | 
|   45                             'last_revision': '1' |  | 
|   46                         }, |  | 
|   47                     ] |  | 
|   48                 }, |  | 
|   49                 { |  | 
|   50                     'node_type': 'directory', |  | 
|   51                     'name': 'de', |  | 
|   52                     'files': [ |  | 
|   53                         { |  | 
|   54                             'node_type': 'file', |  | 
|   55                             'name': 'translate.json', |  | 
|   56                             'created': '2016-09-26 08:30:07', |  | 
|   57                             'last_updated': '2016-09-26 08:30:08', |  | 
|   58                             'last_accessed': None, |  | 
|   59                             'last_revision': '1' |  | 
|   60                         } |  | 
|   61                     ] |  | 
|   62                 } |  | 
|   63             ] |  | 
|   64         } |  | 
|   65     ) |  | 
|   66  |   49  | 
|   67  |   50  | 
|   68 @app.route('/api/project/test/supported-languages', methods=['GET']) |   51 @app.route('/api/project/test/supported-languages', methods=['GET']) | 
|   69 def supported_langs(): |   52 def supported_langs(): | 
|   70     return jsonify( |   53     return jsonify(app.config['supported_languages']) | 
|   71         [ |  | 
|   72             { |  | 
|   73                 'name': 'German', |  | 
|   74                 'crowdin_code': 'de', |  | 
|   75                 'editor_code': 'de', |  | 
|   76                 'iso_639_1': 'de', |  | 
|   77                 'iso_639_3': 'deu', |  | 
|   78                 'locale': 'de-DE' |  | 
|   79             }, |  | 
|   80             { |  | 
|   81                 'name': 'English', |  | 
|   82                 'crowdin_code': 'en', |  | 
|   83                 'editor_code': 'en', |  | 
|   84                 'iso_639_1': 'en', |  | 
|   85                 'iso_639_3': 'eng', |  | 
|   86                 'locale': 'en-US' |  | 
|   87             }, |  | 
|   88         ] |  | 
|   89     ) |  | 
|   90  |   54  | 
|   91  |   55  | 
|   92 @app.route('/api/project/test/add-file', methods=['POST']) |   56 @app.route('/api/project/test/add-file', methods=['POST']) | 
|   93 def add_file(): |   57 def add_file(): | 
|   94     app.string = request.get_data() |   58     app.string = request.get_data() | 
|   95     return jsonify() |   59     return jsonify() | 
|   96  |   60  | 
|   97  |   61  | 
|   98 @app.route('/api/project/test/upload-translation', methods=['POST']) |   62 @app.route('/api/project/test/upload-translation', methods=['POST']) | 
|   99 def upload_translation(): |   63 def upload_translation(): | 
| (...skipping 10 matching lines...) Expand all  Loading... | 
|  110     return jsonify() |   74     return jsonify() | 
|  111  |   75  | 
|  112  |   76  | 
|  113 @app.route('/api/project/test/export', methods=['GET']) |   77 @app.route('/api/project/test/export', methods=['GET']) | 
|  114 def export(): |   78 def export(): | 
|  115     return jsonify({'success': {'status': 'skipped'}}) |   79     return jsonify({'success': {'status': 'skipped'}}) | 
|  116  |   80  | 
|  117  |   81  | 
|  118 @app.route('/api/project/test/download/all.zip', methods=['GET']) |   82 @app.route('/api/project/test/download/all.zip', methods=['GET']) | 
|  119 def get_zip(): |   83 def get_zip(): | 
|  120     return send_from_directory('', 'all.zip') |   84     return send_from_directory(app.config['zipdir'], 'all.zip') | 
| OLD | NEW |