コード例 #1
0
ファイル: archive.py プロジェクト: zijie98/appstore
def build_files(args: Dict[str, str]) -> Dict[str, str]:
    platform = int(args['platform'])  # prevent path traversal
    vars = {
        'id': args['name'].lower(),
        'summary': args['summary'],
        'description': args['description'],
        'name': ' '.join(re.findall(r'[A-Z][^A-Z]*', args['name'])),
        'namespace': args['name'],
        'author_name': args['author_name'],
        'author_mail': args['author_email'],
        'author_homepage': args['author_homepage'],
        'issue_tracker': args['issue_tracker'],
        'categories': args['categories'],
        'nextcloud_version': platform
    }
    vars.update(settings.APP_SCAFFOLDING_PROFILES.get(platform, {}))
    relative_base = 'app-templates/%i/app/' % platform
    base = resolve_file_relative_path(__file__, relative_base)

    context = Context({'app': vars})
    result = {}
    if isdir(base):
        for root, dirs, files in walk(base):
            for file in files:
                file_path = join(root, file)
                rel_file_path = '%s/%s' % (
                    vars['id'], relpath(file_path, base)
                )
                with open(file_path) as f:
                    t = Template(f.read())
                    result[rel_file_path] = t.render(context)

    return result
コード例 #2
0
ファイル: archive.py プロジェクト: clone1612/appstore
def build_files(args: Dict[str, str]) -> Dict[str, str]:
    platform = int(args['platform'])  # prevent path traversal
    vars = {
        'id': args['name'].lower(),
        'summary': args['summary'],
        'description': args['description'],
        'name': ' '.join(re.findall(r'[A-Z][^A-Z]*', args['name'])),
        'namespace': args['name'],
        'author_name': args['author_name'],
        'author_mail': args['author_email'],
        'author_homepage': args['author_homepage'],
        'issue_tracker': args['issue_tracker'],
        'categories': args['categories'],
        'nextcloud_version': platform
    }
    vars.update(APP_SCAFFOLDING_PROFILES.get(platform, {}))
    relative_base = 'app-templates/%i/app/' % platform
    base = resolve_file_relative_path(__file__, relative_base)

    context = Context({'app': vars})
    result = {}
    if isdir(base):
        for root, dirs, files in walk(base):
            for file in files:
                file_path = join(root, file)
                rel_file_path = '%s/%s' % (
                    vars['id'], relpath(file_path, base)
                )
                with open(file_path) as f:
                    t = Template(f.read())
                    result[rel_file_path] = t.render(context)

    return result
コード例 #3
0
class FakeDownload:
    filename = resolve_file_relative_path(__file__,
                                          'data/infoxmls/minimal.xml')

    def __enter__(self):
        return self

    def __exit__(self, exc_type, exc_val, exc_tb):
        pass
コード例 #4
0
ファイル: test_parser.py プロジェクト: enaut/appstore
 def get_path(self, target):
     return resolve_file_relative_path(__file__, target)
コード例 #5
0
ファイル: test_parser.py プロジェクト: Lpunk/appstore
 def get_path(self, target):
     return resolve_file_relative_path(__file__, target)
コード例 #6
0
ファイル: test_validator.py プロジェクト: nextcloud/appstore
 def _read_bin_file(self, rel_path: str) -> bytes:
     target_path = resolve_file_relative_path(__file__, rel_path)
     with open(target_path, 'rb') as f:
         return f.read()
コード例 #7
0
 def cert_path(self, name: str) -> str:
     path = 'data/%s' % name
     return resolve_file_relative_path(__file__, path)
コード例 #8
0
ファイル: forms.py プロジェクト: zijie98/appstore
def get_versions():
    tpls = listdir(resolve_file_relative_path(__file__, 'app-templates'))
    return sorted(((v, v) for v in tpls))
コード例 #9
0
ファイル: forms.py プロジェクト: uniblockchain/appstore
def get_versions():
    tpls = listdir(resolve_file_relative_path(__file__, 'app-templates'))
    return sorted(((v, v) for v in tpls))
コード例 #10
0
 def _read_bin_file(self, rel_path: str) -> bytes:
     target_path = resolve_file_relative_path(__file__, rel_path)
     with open(target_path, 'rb') as f:
         return f.read()