Make repomaker installable
This gets rid of the project/app distinction. Now, there is only one repomaker folder. No more maker and RepoMaker. A setup.py file was added to begin distributing repomaker.
|
@ -9,8 +9,14 @@ credentials
|
|||
node_modules/
|
||||
/static/
|
||||
.coverage
|
||||
repomaker/static/repomaker/css/styles.css
|
||||
repomaker/static/repomaker/css/repo/page.css
|
||||
|
||||
.idea/*
|
||||
!.idea/codeStyleSettings.xml
|
||||
|
||||
*.mo
|
||||
|
||||
/build/
|
||||
/dist/
|
||||
/repomaker.egg-info/
|
||||
|
|
|
@ -1,36 +0,0 @@
|
|||
"""RepoMaker URL Configuration
|
||||
|
||||
The `urlpatterns` list routes URLs to views. For more information please see:
|
||||
https://docs.djangoproject.com/en/1.10/topics/http/urls/
|
||||
Examples:
|
||||
Function views
|
||||
1. Add an import: from my_app import views
|
||||
2. Add a URL to urlpatterns: url(r'^$', views.home, name='home')
|
||||
Class-based views
|
||||
1. Add an import: from other_app.views import Home
|
||||
2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home')
|
||||
Including another URLconf
|
||||
1. Import the include() function: from django.conf.urls import url, include
|
||||
2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls'))
|
||||
"""
|
||||
from django.conf import settings
|
||||
from django.conf.urls import include, url
|
||||
from django.contrib import admin
|
||||
|
||||
from maker.views import media_serve
|
||||
from maker.views.repository import RepositoryListView
|
||||
|
||||
|
||||
urlpatterns = [
|
||||
url(r'^$', RepositoryListView.as_view(), name="index"),
|
||||
url(r'^repo/', include('maker.urls')),
|
||||
url(r'^admin/', admin.site.urls),
|
||||
url(r'^tinymce/', include('tinymce.urls')),
|
||||
url(r'^%s(?P<path>.*)$' % settings.MEDIA_URL[1:], media_serve,
|
||||
{'document_root': settings.MEDIA_ROOT}),
|
||||
]
|
||||
|
||||
if not settings.SINGLE_USER_MODE:
|
||||
urlpatterns += [
|
||||
url(r'^accounts/', include('allauth.urls')),
|
||||
]
|
|
@ -12,12 +12,12 @@
|
|||
Require all granted
|
||||
</Directory>
|
||||
|
||||
WSGIScriptAlias / /var/local/repomaker/RepoMaker/wsgi.py
|
||||
WSGIScriptAlias / /var/local/repomaker/repomaker/wsgi.py
|
||||
WSGIDaemonProcess repomaker python-path=/var/local/repomaker:/usr/local/lib/python3.5/dist-packages
|
||||
WSGIProcessGroup repomaker
|
||||
WSGIPassAuthorization On
|
||||
|
||||
<Directory /var/local/repomaker/RepoMaker>
|
||||
<Directory /var/local/repomaker/repomaker>
|
||||
<Files wsgi.py>
|
||||
Require all granted
|
||||
</Files>
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
# The name of the default user. Please DO NOT CHANGE
|
||||
DEFAULT_USER_NAME = 'user'
|
|
@ -3,7 +3,7 @@ import os
|
|||
import sys
|
||||
|
||||
if __name__ == "__main__":
|
||||
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "RepoMaker.settings")
|
||||
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "repomaker.settings")
|
||||
try:
|
||||
from django.core.management import execute_from_command_line
|
||||
except ImportError:
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"name": "RepoMaker",
|
||||
"name": "repomaker",
|
||||
"version": "0.0.1",
|
||||
"license": "AGPL-3.0",
|
||||
"repository": {
|
||||
|
|
16
purge.sh
|
@ -7,16 +7,16 @@ rm -r media/remote_repo_*
|
|||
rm -r media/packages
|
||||
|
||||
# remove database and move custom migrations out of the way
|
||||
rm maker/migrations/0*
|
||||
mv maker/migrations/default_user.py maker/migrations/default_user.py.bak
|
||||
mv maker/migrations/default_categories.py maker/migrations/default_categories.py.bak
|
||||
mv maker/migrations/default_remote_repositories.py maker/migrations/default_remote_repositories.py.bak
|
||||
rm repomaker/migrations/0*
|
||||
mv repomaker/migrations/default_user.py repomaker/migrations/default_user.py.bak
|
||||
mv repomaker/migrations/default_categories.py repomaker/migrations/default_categories.py.bak
|
||||
mv repomaker/migrations/default_remote_repositories.py repomaker/migrations/default_remote_repositories.py.bak
|
||||
rm db.sqlite3
|
||||
|
||||
# initialize database and re-add custom migrations
|
||||
python3 manage.py makemigrations maker
|
||||
mv maker/migrations/default_user.py.bak maker/migrations/default_user.py
|
||||
mv maker/migrations/default_categories.py.bak maker/migrations/default_categories.py
|
||||
mv maker/migrations/default_remote_repositories.py.bak maker/migrations/default_remote_repositories.py
|
||||
python3 manage.py makemigrations repomaker
|
||||
mv repomaker/migrations/default_user.py.bak repomaker/migrations/default_user.py
|
||||
mv repomaker/migrations/default_categories.py.bak repomaker/migrations/default_categories.py
|
||||
mv repomaker/migrations/default_remote_repositories.py.bak repomaker/migrations/default_remote_repositories.py
|
||||
python3 manage.py migrate
|
||||
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
import os
|
||||
import sys
|
||||
|
||||
# The name of the default user. Please DO NOT CHANGE
|
||||
DEFAULT_USER_NAME = 'user'
|
||||
|
||||
|
||||
def runserver():
|
||||
execute([sys.argv[0], 'migrate'])
|
||||
if len(sys.argv) <= 1 or sys.argv[1] != 'runserver':
|
||||
sys.argv = sys.argv[:1] + ['runserver'] + sys.argv[1:]
|
||||
execute(sys.argv)
|
||||
|
||||
|
||||
def process_tasks():
|
||||
if len(sys.argv) <= 1 or sys.argv[1] != 'process_tasks':
|
||||
sys.argv = sys.argv[:1] + ['process_tasks'] + sys.argv[1:]
|
||||
execute(sys.argv)
|
||||
|
||||
|
||||
def execute(params):
|
||||
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "repomaker.settings")
|
||||
try:
|
||||
from django.core.management import execute_from_command_line
|
||||
except ImportError:
|
||||
# The above import may fail for some other reason. Ensure that the
|
||||
# issue is really that Django is missing to avoid masking other
|
||||
# exceptions on Python 2.
|
||||
try:
|
||||
import django
|
||||
except ImportError:
|
||||
raise ImportError(
|
||||
"Couldn't import Django. Are you sure it's installed and "
|
||||
"available on your PYTHONPATH environment variable? Did you "
|
||||
"forget to activate a virtual environment?"
|
||||
)
|
||||
raise
|
||||
execute_from_command_line(params)
|
|
@ -3,5 +3,5 @@ from __future__ import unicode_literals
|
|||
from django.apps import AppConfig
|
||||
|
||||
|
||||
class MakerConfig(AppConfig):
|
||||
name = 'maker'
|
||||
class RepoMakerConfig(AppConfig):
|
||||
name = 'repomaker'
|
|
@ -1,15 +1,14 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.11.3 on 2017-07-12 15:35
|
||||
# Generated by Django 1.11.3 on 2017-07-20 17:21
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
import django.db.models.manager
|
||||
import django.utils.timezone
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
|
||||
import maker.models.storage
|
||||
import maker.storage
|
||||
import repomaker.models.storage
|
||||
import repomaker.storage
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
@ -26,7 +25,7 @@ class Migration(migrations.Migration):
|
|||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('package_id', models.CharField(blank=True, max_length=255)),
|
||||
('file', models.FileField(storage=maker.storage.RepoStorage(), upload_to=maker.storage.get_apk_file_path)),
|
||||
('file', models.FileField(storage=repomaker.storage.RepoStorage(), upload_to=repomaker.storage.get_apk_file_path)),
|
||||
('version_name', models.CharField(blank=True, max_length=128)),
|
||||
('version_code', models.PositiveIntegerField(default=0)),
|
||||
('size', models.PositiveIntegerField(default=0)),
|
||||
|
@ -41,8 +40,8 @@ class Migration(migrations.Migration):
|
|||
name='ApkPointer',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('file', models.FileField(storage=maker.storage.RepoStorage(), upload_to=maker.storage.get_apk_file_path)),
|
||||
('apk', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='maker.Apk')),
|
||||
('file', models.FileField(storage=repomaker.storage.RepoStorage(), upload_to=repomaker.storage.get_apk_file_path)),
|
||||
('apk', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='repomaker.Apk')),
|
||||
],
|
||||
options={
|
||||
'abstract': False,
|
||||
|
@ -58,14 +57,14 @@ class Migration(migrations.Migration):
|
|||
('description_override', models.TextField(blank=True)),
|
||||
('author_name', models.CharField(blank=True, max_length=255)),
|
||||
('website', models.URLField(blank=True, max_length=2048)),
|
||||
('icon', models.ImageField(default='default-app-icon.png', upload_to=maker.storage.get_icon_file_path_for_app)),
|
||||
('icon', models.ImageField(default='default-app-icon.png', upload_to=repomaker.storage.get_icon_file_path_for_app)),
|
||||
('added_date', models.DateTimeField(default=django.utils.timezone.now)),
|
||||
('type', models.CharField(choices=[('apk', 'APK'), ('book', 'Book'), ('document', 'Document'), ('image', 'Image'), ('audio', 'Audio'), ('video', 'Video'), ('other', 'Other')], default='apk', max_length=16)),
|
||||
('last_updated_date', models.DateTimeField(auto_now=True)),
|
||||
],
|
||||
options={
|
||||
'ordering': ['added_date'],
|
||||
'abstract': False,
|
||||
'ordering': ['added_date'],
|
||||
},
|
||||
managers=[
|
||||
('objects', django.db.models.manager.Manager()),
|
||||
|
@ -78,17 +77,17 @@ class Migration(migrations.Migration):
|
|||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('summary', models.CharField(blank=True, max_length=255)),
|
||||
('description', models.TextField(blank=True)),
|
||||
('feature_graphic', models.ImageField(blank=True, max_length=1024, upload_to=maker.storage.get_graphic_asset_file_path)),
|
||||
('high_res_icon', models.ImageField(blank=True, max_length=1024, upload_to=maker.storage.get_graphic_asset_file_path)),
|
||||
('tv_banner', models.ImageField(blank=True, max_length=1024, upload_to=maker.storage.get_graphic_asset_file_path)),
|
||||
('feature_graphic', models.ImageField(blank=True, max_length=1024, upload_to=repomaker.storage.get_graphic_asset_file_path)),
|
||||
('high_res_icon', models.ImageField(blank=True, max_length=1024, upload_to=repomaker.storage.get_graphic_asset_file_path)),
|
||||
('tv_banner', models.ImageField(blank=True, max_length=1024, upload_to=repomaker.storage.get_graphic_asset_file_path)),
|
||||
('language_code', models.CharField(db_index=True, max_length=15)),
|
||||
('master', models.ForeignKey(editable=False, on_delete=django.db.models.deletion.CASCADE, related_name='translations', to='maker.App')),
|
||||
('master', models.ForeignKey(editable=False, on_delete=django.db.models.deletion.CASCADE, related_name='translations', to='repomaker.App')),
|
||||
],
|
||||
options={
|
||||
'abstract': False,
|
||||
'db_table': 'repomaker_app_translation',
|
||||
'managed': True,
|
||||
'db_tablespace': '',
|
||||
'abstract': False,
|
||||
'db_table': 'maker_app_translation',
|
||||
'default_permissions': (),
|
||||
},
|
||||
),
|
||||
|
@ -107,9 +106,9 @@ class Migration(migrations.Migration):
|
|||
name='GitStorage',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('host', models.CharField(max_length=256, validators=[maker.models.storage.HostnameValidator()])),
|
||||
('path', models.CharField(max_length=512, validators=[maker.models.storage.PathValidator()])),
|
||||
('identity_file', models.FileField(blank=True, storage=maker.storage.PrivateStorage(), upload_to=maker.storage.get_identity_file_path)),
|
||||
('host', models.CharField(max_length=256, validators=[repomaker.models.storage.HostnameValidator()])),
|
||||
('path', models.CharField(max_length=512, validators=[repomaker.models.storage.PathValidator()])),
|
||||
('identity_file', models.FileField(blank=True, storage=repomaker.storage.PrivateStorage(), upload_to=repomaker.storage.get_identity_file_path)),
|
||||
('public_key', models.TextField(blank=True, null=True)),
|
||||
('url', models.URLField(max_length=2048)),
|
||||
('disabled', models.BooleanField(default=True)),
|
||||
|
@ -123,7 +122,7 @@ class Migration(migrations.Migration):
|
|||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('url', models.URLField(max_length=2048)),
|
||||
('apk', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='maker.Apk')),
|
||||
('apk', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='repomaker.Apk')),
|
||||
],
|
||||
options={
|
||||
'abstract': False,
|
||||
|
@ -139,15 +138,15 @@ class Migration(migrations.Migration):
|
|||
('description_override', models.TextField(blank=True)),
|
||||
('author_name', models.CharField(blank=True, max_length=255)),
|
||||
('website', models.URLField(blank=True, max_length=2048)),
|
||||
('icon', models.ImageField(default='default-app-icon.png', upload_to=maker.storage.get_icon_file_path_for_app)),
|
||||
('icon', models.ImageField(default='default-app-icon.png', upload_to=repomaker.storage.get_icon_file_path_for_app)),
|
||||
('added_date', models.DateTimeField(default=django.utils.timezone.now)),
|
||||
('icon_etag', models.CharField(blank=True, max_length=128, null=True)),
|
||||
('last_updated_date', models.DateTimeField(blank=True)),
|
||||
('category', models.ManyToManyField(blank=True, to='maker.Category')),
|
||||
('category', models.ManyToManyField(blank=True, to='repomaker.Category')),
|
||||
],
|
||||
options={
|
||||
'ordering': ['added_date'],
|
||||
'abstract': False,
|
||||
'ordering': ['added_date'],
|
||||
},
|
||||
managers=[
|
||||
('objects', django.db.models.manager.Manager()),
|
||||
|
@ -167,13 +166,13 @@ class Migration(migrations.Migration):
|
|||
('tv_banner_url', models.URLField(blank=True, max_length=2048)),
|
||||
('tv_banner_etag', models.CharField(blank=True, max_length=128, null=True)),
|
||||
('language_code', models.CharField(db_index=True, max_length=15)),
|
||||
('master', models.ForeignKey(editable=False, on_delete=django.db.models.deletion.CASCADE, related_name='translations', to='maker.RemoteApp')),
|
||||
('master', models.ForeignKey(editable=False, on_delete=django.db.models.deletion.CASCADE, related_name='translations', to='repomaker.RemoteApp')),
|
||||
],
|
||||
options={
|
||||
'abstract': False,
|
||||
'db_table': 'repomaker_remoteapp_translation',
|
||||
'managed': True,
|
||||
'db_tablespace': '',
|
||||
'abstract': False,
|
||||
'db_table': 'maker_remoteapp_translation',
|
||||
'default_permissions': (),
|
||||
},
|
||||
),
|
||||
|
@ -184,7 +183,7 @@ class Migration(migrations.Migration):
|
|||
('name', models.CharField(max_length=255)),
|
||||
('description', models.TextField()),
|
||||
('url', models.URLField(blank=True, max_length=2048, null=True)),
|
||||
('icon', models.ImageField(default='default-repo-icon.png', upload_to=maker.storage.get_icon_file_path)),
|
||||
('icon', models.ImageField(default='default-repo-icon.png', upload_to=repomaker.storage.get_icon_file_path)),
|
||||
('public_key', models.TextField(blank=True)),
|
||||
('fingerprint', models.CharField(blank=True, max_length=512)),
|
||||
('update_scheduled', models.BooleanField(default=False)),
|
||||
|
@ -210,7 +209,7 @@ class Migration(migrations.Migration):
|
|||
('language_code', models.CharField(default='en', max_length=32)),
|
||||
('type', models.CharField(choices=[('phoneScreenshots', 'Phone'), ('sevenInchScreenshots', "7'' Tablet"), ('tenInchScreenshots', "10'' Tablet"), ('tvScreenshots', 'TV'), ('wearScreenshots', 'Wearable')], default='phoneScreenshots', max_length=32)),
|
||||
('url', models.URLField(max_length=2048)),
|
||||
('app', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='maker.RemoteApp')),
|
||||
('app', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='repomaker.RemoteApp')),
|
||||
],
|
||||
options={
|
||||
'abstract': False,
|
||||
|
@ -223,13 +222,13 @@ class Migration(migrations.Migration):
|
|||
('name', models.CharField(max_length=255)),
|
||||
('description', models.TextField()),
|
||||
('url', models.URLField(blank=True, max_length=2048, null=True)),
|
||||
('icon', models.ImageField(default='default-repo-icon.png', upload_to=maker.storage.get_icon_file_path)),
|
||||
('icon', models.ImageField(default='default-repo-icon.png', upload_to=repomaker.storage.get_icon_file_path)),
|
||||
('public_key', models.TextField(blank=True)),
|
||||
('fingerprint', models.CharField(blank=True, max_length=512)),
|
||||
('update_scheduled', models.BooleanField(default=False)),
|
||||
('is_updating', models.BooleanField(default=False)),
|
||||
('last_updated_date', models.DateTimeField(auto_now=True)),
|
||||
('qrcode', models.ImageField(blank=True, upload_to=maker.storage.get_repo_file_path)),
|
||||
('qrcode', models.ImageField(blank=True, upload_to=repomaker.storage.get_repo_file_path)),
|
||||
('key_store_pass', models.CharField(max_length=64)),
|
||||
('key_pass', models.CharField(max_length=64)),
|
||||
('created_date', models.DateTimeField(default=django.utils.timezone.now)),
|
||||
|
@ -250,7 +249,7 @@ class Migration(migrations.Migration):
|
|||
('bucket', models.CharField(max_length=128)),
|
||||
('accesskeyid', models.CharField(max_length=128)),
|
||||
('secretkey', models.CharField(max_length=255)),
|
||||
('repo', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='maker.Repository')),
|
||||
('repo', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='repomaker.Repository')),
|
||||
],
|
||||
options={
|
||||
'abstract': False,
|
||||
|
@ -262,8 +261,8 @@ class Migration(migrations.Migration):
|
|||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('language_code', models.CharField(default='en', max_length=32)),
|
||||
('type', models.CharField(choices=[('phoneScreenshots', 'Phone'), ('sevenInchScreenshots', "7'' Tablet"), ('tenInchScreenshots', "10'' Tablet"), ('tvScreenshots', 'TV'), ('wearScreenshots', 'Wearable')], default='phoneScreenshots', max_length=32)),
|
||||
('file', models.ImageField(max_length=1024, storage=maker.storage.RepoStorage(), upload_to=maker.storage.get_screenshot_file_path)),
|
||||
('app', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='maker.App')),
|
||||
('file', models.ImageField(max_length=1024, storage=repomaker.storage.RepoStorage(), upload_to=repomaker.storage.get_screenshot_file_path)),
|
||||
('app', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='repomaker.App')),
|
||||
],
|
||||
options={
|
||||
'abstract': False,
|
||||
|
@ -273,14 +272,14 @@ class Migration(migrations.Migration):
|
|||
name='SshStorage',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('host', models.CharField(max_length=256, validators=[maker.models.storage.HostnameValidator()])),
|
||||
('path', models.CharField(max_length=512, validators=[maker.models.storage.PathValidator()])),
|
||||
('identity_file', models.FileField(blank=True, storage=maker.storage.PrivateStorage(), upload_to=maker.storage.get_identity_file_path)),
|
||||
('host', models.CharField(max_length=256, validators=[repomaker.models.storage.HostnameValidator()])),
|
||||
('path', models.CharField(max_length=512, validators=[repomaker.models.storage.PathValidator()])),
|
||||
('identity_file', models.FileField(blank=True, storage=repomaker.storage.PrivateStorage(), upload_to=repomaker.storage.get_identity_file_path)),
|
||||
('public_key', models.TextField(blank=True, null=True)),
|
||||
('url', models.URLField(max_length=2048)),
|
||||
('disabled', models.BooleanField(default=True)),
|
||||
('username', models.CharField(max_length=64, validators=[maker.models.storage.UsernameValidator()])),
|
||||
('repo', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='maker.Repository')),
|
||||
('username', models.CharField(max_length=64, validators=[repomaker.models.storage.UsernameValidator()])),
|
||||
('repo', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='repomaker.Repository')),
|
||||
],
|
||||
options={
|
||||
'abstract': False,
|
||||
|
@ -289,37 +288,37 @@ class Migration(migrations.Migration):
|
|||
migrations.AddField(
|
||||
model_name='remoteapp',
|
||||
name='repo',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='maker.RemoteRepository'),
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='repomaker.RemoteRepository'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='remoteapkpointer',
|
||||
name='app',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='maker.RemoteApp'),
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='repomaker.RemoteApp'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='gitstorage',
|
||||
name='repo',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='maker.Repository'),
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='repomaker.Repository'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='app',
|
||||
name='category',
|
||||
field=models.ManyToManyField(blank=True, to='maker.Category'),
|
||||
field=models.ManyToManyField(blank=True, to='repomaker.Category'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='app',
|
||||
name='repo',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='maker.Repository'),
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='repomaker.Repository'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='apkpointer',
|
||||
name='app',
|
||||
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='maker.App'),
|
||||
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='repomaker.App'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='apkpointer',
|
||||
name='repo',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='maker.Repository'),
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='repomaker.Repository'),
|
||||
),
|
||||
migrations.AlterUniqueTogether(
|
||||
name='remoteapptranslation',
|
|
@ -11,7 +11,7 @@ DEFAULT_CATEGORIES = [
|
|||
|
||||
def forwards_func(apps, schema_editor):
|
||||
# noinspection PyPep8Naming
|
||||
Category = apps.get_model("maker", "Category")
|
||||
Category = apps.get_model("repomaker", "Category")
|
||||
db_alias = schema_editor.connection.alias
|
||||
Category.objects.using(db_alias).bulk_create(
|
||||
[Category(user=None, name=name) for name in DEFAULT_CATEGORIES])
|
||||
|
@ -19,7 +19,7 @@ def forwards_func(apps, schema_editor):
|
|||
|
||||
def reverse_func(apps, schema_editor):
|
||||
# noinspection PyPep8Naming
|
||||
Category = apps.get_model("maker", "Category")
|
||||
Category = apps.get_model("repomaker", "Category")
|
||||
db_alias = schema_editor.connection.alias
|
||||
for name in DEFAULT_CATEGORIES:
|
||||
Category.objects.using(db_alias).filter(user=None, name=name).delete()
|
||||
|
@ -28,7 +28,7 @@ def reverse_func(apps, schema_editor):
|
|||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('maker', 'default_user'),
|
||||
('repomaker', 'default_user'),
|
||||
]
|
||||
|
||||
operations = [
|
|
@ -6,12 +6,12 @@ from background_task.tasks import Task
|
|||
from django.db import migrations
|
||||
from django.utils import timezone
|
||||
|
||||
from maker import tasks
|
||||
from repomaker import tasks
|
||||
|
||||
|
||||
# noinspection PyPep8Naming
|
||||
def forwards_func(apps, schema_editor):
|
||||
RemoteRepository = apps.get_model("maker", "RemoteRepository")
|
||||
RemoteRepository = apps.get_model("repomaker", "RemoteRepository")
|
||||
User = apps.get_model("auth", "User")
|
||||
db_alias = schema_editor.connection.alias
|
||||
|
||||
|
@ -46,7 +46,7 @@ def forwards_func(apps, schema_editor):
|
|||
|
||||
def reverse_func(apps, schema_editor):
|
||||
# noinspection PyPep8Naming
|
||||
RemoteRepository = apps.get_model("maker", "RemoteRepository")
|
||||
RemoteRepository = apps.get_model("repomaker", "RemoteRepository")
|
||||
db_alias = schema_editor.connection.alias
|
||||
RemoteRepository.objects.using(db_alias).filter(pre_installed=True).delete()
|
||||
|
||||
|
@ -55,7 +55,7 @@ class Migration(migrations.Migration):
|
|||
|
||||
dependencies = [
|
||||
('background_task', '0001_initial'),
|
||||
('maker', 'default_categories'),
|
||||
('repomaker', 'default_categories'),
|
||||
]
|
||||
|
||||
operations = [
|
|
@ -3,7 +3,7 @@ from __future__ import unicode_literals
|
|||
from django.conf import settings
|
||||
from django.db import migrations
|
||||
|
||||
from maker import DEFAULT_USER_NAME
|
||||
from repomaker import DEFAULT_USER_NAME
|
||||
|
||||
|
||||
def forwards_func(apps, schema_editor):
|
||||
|
@ -29,7 +29,7 @@ class Migration(migrations.Migration):
|
|||
|
||||
dependencies = [
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
('maker', '0001_initial'),
|
||||
('repomaker', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
|
@ -14,9 +14,9 @@ from django.utils import timezone
|
|||
from django.utils.translation import ugettext_lazy as _
|
||||
from fdroidserver import common, exception, update
|
||||
|
||||
from maker import tasks
|
||||
from maker.models.repository import AbstractRepository
|
||||
from maker.storage import get_apk_file_path, RepoStorage
|
||||
from repomaker import tasks
|
||||
from repomaker.models.repository import AbstractRepository
|
||||
from repomaker.storage import get_apk_file_path, RepoStorage
|
||||
from .apkpointer import ApkPointer, RemoteApkPointer
|
||||
from .app import OTHER, IMAGE, VIDEO, AUDIO, DOCUMENT, BOOK, APK
|
||||
|
|
@ -11,7 +11,7 @@ from django.utils.translation import ugettext_lazy as _
|
|||
from fdroidserver import update
|
||||
from fdroidserver.update import get_all_icon_dirs
|
||||
|
||||
from maker.storage import get_apk_file_path, RepoStorage
|
||||
from repomaker.storage import get_apk_file_path, RepoStorage
|
||||
from .app import App
|
||||
from .remoteapp import RemoteApp
|
||||
from .repository import Repository
|
||||
|
@ -152,7 +152,7 @@ class RemoteApkPointer(AbstractApkPointer):
|
|||
|
||||
@receiver(post_delete, sender=ApkPointer)
|
||||
def apk_pointer_post_delete_handler(**kwargs):
|
||||
from maker.models import Apk
|
||||
from repomaker.models import Apk
|
||||
apk_pointer = kwargs['instance']
|
||||
logging.info("Deleting APK Pointer: %s", apk_pointer.file.name)
|
||||
apk_pointer.file.delete(save=False)
|
||||
|
@ -166,7 +166,7 @@ def apk_pointer_post_delete_handler(**kwargs):
|
|||
|
||||
@receiver(post_delete, sender=RemoteApkPointer)
|
||||
def remote_apk_pointer_post_delete_handler(**kwargs):
|
||||
from maker.models import Apk
|
||||
from repomaker.models import Apk
|
||||
remote_apk_pointer = kwargs['instance']
|
||||
logging.info("Deleting Remote APK Pointer: %s", remote_apk_pointer)
|
||||
try:
|
|
@ -13,8 +13,8 @@ from fdroidserver import metadata, net
|
|||
from hvad.models import TranslatableModel, TranslatedFields
|
||||
from hvad.utils import load_translation
|
||||
|
||||
from maker.storage import get_icon_file_path_for_app, get_graphic_asset_file_path
|
||||
from maker.utils import clean, to_universal_language_code
|
||||
from repomaker.storage import get_icon_file_path_for_app, get_graphic_asset_file_path
|
||||
from repomaker.utils import clean, to_universal_language_code
|
||||
from .category import Category
|
||||
from .repository import Repository
|
||||
|
|
@ -12,8 +12,8 @@ from django.utils.translation import ugettext_lazy as _
|
|||
from fdroidserver import net
|
||||
from hvad.models import TranslatedFields
|
||||
|
||||
from maker import tasks
|
||||
from maker.utils import clean
|
||||
from repomaker import tasks
|
||||
from repomaker.utils import clean
|
||||
from .app import AbstractApp
|
||||
from .category import Category
|
||||
from .remoterepository import RemoteRepository
|
||||
|
@ -158,7 +158,7 @@ class RemoteApp(AbstractApp):
|
|||
self.save()
|
||||
|
||||
def _update_screenshots(self, localized):
|
||||
from maker.models import RemoteScreenshot
|
||||
from repomaker.models import RemoteScreenshot
|
||||
for original_language_code, types in localized.items():
|
||||
# store language code in lower-case, because in Django they are all lower-case as well
|
||||
language_code = original_language_code.lower()
|
|
@ -13,10 +13,10 @@ from django.dispatch import receiver
|
|||
from django.utils import timezone
|
||||
from fdroidserver import index, net
|
||||
|
||||
from maker import tasks
|
||||
from maker.models.repository import AbstractRepository
|
||||
from maker.storage import get_remote_repo_path
|
||||
from maker.utils import clean
|
||||
from repomaker import tasks
|
||||
from repomaker.models.repository import AbstractRepository
|
||||
from repomaker.storage import get_remote_repo_path
|
||||
from repomaker.utils import clean
|
||||
|
||||
|
||||
class RemoteRepository(AbstractRepository):
|
||||
|
@ -116,7 +116,7 @@ class RemoteRepository(AbstractRepository):
|
|||
self.icon.save(icon_name, BytesIO(icon), save=False)
|
||||
|
||||
def _update_apps(self, apps, packages):
|
||||
from maker.models.remoteapp import RemoteApp
|
||||
from repomaker.models.remoteapp import RemoteApp
|
||||
# update the apps from this repo and remember all package names we have seen
|
||||
package_names = []
|
||||
for app in apps:
|
||||
|
@ -145,7 +145,7 @@ class RemoteRepository(AbstractRepository):
|
|||
self._remove_old_apps(package_names)
|
||||
|
||||
def _update_package(self, app, package_info):
|
||||
from maker.models import Apk, RemoteApkPointer
|
||||
from repomaker.models import Apk, RemoteApkPointer
|
||||
|
||||
apks = Apk.objects.filter(package_id=package_info['packageName'], hash=package_info['hash'])
|
||||
if apks.exists():
|
||||
|
@ -166,7 +166,7 @@ class RemoteRepository(AbstractRepository):
|
|||
|
||||
:param packages: A list of package names that should not be removed
|
||||
"""
|
||||
from maker.models.remoteapp import RemoteApp
|
||||
from repomaker.models.remoteapp import RemoteApp
|
||||
old_apps = RemoteApp.objects.filter(repo=self)
|
||||
for app in old_apps.all():
|
||||
if app.package_id not in packages:
|
|
@ -16,8 +16,8 @@ from django.urls import reverse
|
|||
from django.utils import timezone
|
||||
from fdroidserver import common, index, server, update
|
||||
|
||||
from maker import tasks
|
||||
from maker.storage import REPO_DIR, get_repo_file_path, get_repo_root_path, \
|
||||
from repomaker import tasks
|
||||
from repomaker.storage import REPO_DIR, get_repo_file_path, get_repo_root_path, \
|
||||
get_icon_file_path
|
||||
|
||||
|
||||
|
@ -182,11 +182,11 @@ class Repository(AbstractRepository):
|
|||
return
|
||||
|
||||
# Render page to string
|
||||
repo_page_string = render_to_string('maker/repo_page/index.html', {'repo': self})
|
||||
repo_page_string = render_to_string('repomaker/repo_page/index.html', {'repo': self})
|
||||
repo_page_string = repo_page_string.replace('/static/maker/css/repo/', 'assets/')
|
||||
|
||||
# Render qr_code page to string
|
||||
qr_page_string = render_to_string('maker/repo_page/qr_code.html', {'repo': self})
|
||||
qr_page_string = render_to_string('repomaker/repo_page/qr_code.html', {'repo': self})
|
||||
qr_page_string = qr_page_string.replace('/static/maker/css/repo/', '')
|
||||
|
||||
with open(os.path.join(self.get_repo_path(), 'index.html'), 'w', encoding='utf8') as f:
|
||||
|
@ -212,7 +212,7 @@ class Repository(AbstractRepository):
|
|||
(os.path.join(settings.NODE_MODULES_ROOT, 'material-design-lite', 'material.min.js'),
|
||||
os.path.join(repo_page_assets, 'material.min.js')),
|
||||
# Stylesheet
|
||||
(os.path.join(settings.STATIC_ROOT, 'maker', 'css', 'repo', 'page.css'),
|
||||
(os.path.join(settings.STATIC_ROOT, 'repomaker', 'css', 'repo', 'page.css'),
|
||||
os.path.join(repo_page_assets, 'page.css')),
|
||||
]
|
||||
|
||||
|
@ -231,7 +231,7 @@ class Repository(AbstractRepository):
|
|||
|
||||
# Add page graphic assets to files
|
||||
icons = ['f-droid.png', 'twitter.png', 'facebook.png']
|
||||
icon_path = os.path.join(settings.BASE_DIR, 'maker', 'static', 'maker', 'images',
|
||||
icon_path = os.path.join(settings.BASE_DIR, 'repomaker', 'static', 'repomaker', 'images',
|
||||
'repo_page')
|
||||
for icon in icons:
|
||||
source = os.path.join(icon_path, icon)
|
||||
|
@ -265,8 +265,8 @@ class Repository(AbstractRepository):
|
|||
You normally don't need to call this directly
|
||||
as it is meant to be run in a background task scheduled by update_async().
|
||||
"""
|
||||
from maker.models import App, ApkPointer
|
||||
from maker.models.storage import StorageManager
|
||||
from repomaker.models import App, ApkPointer
|
||||
from repomaker.models.storage import StorageManager
|
||||
self.chdir()
|
||||
config = self.get_config()
|
||||
StorageManager.add_to_config(self, config)
|
||||
|
@ -341,7 +341,7 @@ class Repository(AbstractRepository):
|
|||
You normally don't need to call this manually
|
||||
as it is intended to be called automatically after each update.
|
||||
"""
|
||||
from maker.models.storage import StorageManager
|
||||
from repomaker.models.storage import StorageManager
|
||||
remote_storage = StorageManager.get_storage(self, onlyEnabled=True)
|
||||
if len(remote_storage) == 0:
|
||||
return # bail out if there is no remote storage to publish to
|
|
@ -8,9 +8,9 @@ from django.db.models.signals import post_delete
|
|||
from django.dispatch import receiver
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from maker import tasks
|
||||
from maker.storage import get_screenshot_file_path, RepoStorage
|
||||
from maker.utils import to_universal_language_code
|
||||
from repomaker import tasks
|
||||
from repomaker.storage import get_screenshot_file_path, RepoStorage
|
||||
from repomaker.utils import to_universal_language_code
|
||||
from .app import App
|
||||
from .remoteapp import RemoteApp
|
||||
|
|
@ -17,7 +17,7 @@ from django.utils.translation import ugettext_lazy as _
|
|||
from fdroidserver import server
|
||||
from libcloud.storage.types import Provider
|
||||
|
||||
from maker.storage import get_identity_file_path, PrivateStorage, REPO_DIR, get_repo_root_path
|
||||
from repomaker.storage import get_identity_file_path, PrivateStorage, REPO_DIR, get_repo_root_path
|
||||
from .repository import Repository
|
||||
|
||||
UL = '\u00a1-\uffff' # unicode letters range (must be a unicode string, not a raw string)
|
|
@ -1,5 +1,5 @@
|
|||
"""
|
||||
Django settings for RepoMaker project.
|
||||
Django settings for repomaker project.
|
||||
|
||||
For more information on this file, see
|
||||
https://docs.djangoproject.com/en/dev/topics/settings/
|
||||
|
@ -11,8 +11,8 @@ https://docs.djangoproject.com/en/dev/ref/settings/
|
|||
import logging
|
||||
import os
|
||||
|
||||
from django.utils.translation import ugettext_lazy
|
||||
from django.conf import global_settings
|
||||
from django.utils.translation import ugettext_lazy
|
||||
|
||||
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
|
||||
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||
|
@ -67,7 +67,7 @@ APP_DEFAULT_ICON = "default-app-icon.png"
|
|||
# Application definition
|
||||
|
||||
INSTALLED_APPS = [
|
||||
'maker.apps.MakerConfig',
|
||||
'repomaker.apps.RepoMakerConfig',
|
||||
'sass_processor',
|
||||
'background_task',
|
||||
'hvad', # model i18n
|
||||
|
@ -113,9 +113,9 @@ if not SINGLE_USER_MODE:
|
|||
'allauth.account.auth_backends.AuthenticationBackend',
|
||||
)
|
||||
ACCOUNT_FORMS = {
|
||||
'login': 'maker.views.RmLoginForm',
|
||||
'reset_password': 'maker.views.RmResetPasswordForm',
|
||||
'signup': 'maker.views.RmSignupForm',
|
||||
'login': 'repomaker.views.RmLoginForm',
|
||||
'reset_password': 'repomaker.views.RmResetPasswordForm',
|
||||
'signup': 'repomaker.views.RmSignupForm',
|
||||
}
|
||||
ACCOUNT_EMAIL_VERIFICATION = "none"
|
||||
|
||||
|
@ -131,7 +131,7 @@ MIDDLEWARE = [
|
|||
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
||||
]
|
||||
|
||||
ROOT_URLCONF = 'RepoMaker.urls'
|
||||
ROOT_URLCONF = 'repomaker.urls'
|
||||
|
||||
TEMPLATES = [
|
||||
{
|
||||
|
@ -144,14 +144,14 @@ TEMPLATES = [
|
|||
'django.template.context_processors.request',
|
||||
'django.contrib.auth.context_processors.auth',
|
||||
'django.contrib.messages.context_processors.messages',
|
||||
'maker.context_processors.site_notice',
|
||||
'repomaker.context_processors.site_notice',
|
||||
],
|
||||
},
|
||||
},
|
||||
]
|
||||
FORM_RENDERER = 'django.forms.renderers.TemplatesSetting'
|
||||
|
||||
WSGI_APPLICATION = 'RepoMaker.wsgi.application'
|
||||
WSGI_APPLICATION = 'repomaker.wsgi.application'
|
||||
|
||||
# Password validation
|
||||
# https://docs.djangoproject.com/en/dev/ref/settings/#auth-password-validators
|
|
@ -2,7 +2,7 @@
|
|||
$material-design-icons-font-path: unquote(get-setting(NODE_MODULES_URL) + 'material-design-icons-iconfont/dist/fonts/');
|
||||
$roboto-font-path: unquote(get-setting(NODE_MODULES_URL) + "roboto-fontface/fonts");
|
||||
$image_path: unquote(get-setting(NODE_MODULES_URL) + 'material-design-lite/dist/images/');
|
||||
$socialaccount_provider_url: unquote(get-setting(STATIC_URL) + 'maker/images/socialaccount_providers/');
|
||||
$socialaccount_provider_url: unquote(get-setting(STATIC_URL) + 'repomaker/images/socialaccount_providers/');
|
||||
|
||||
// Colors
|
||||
$rm-blue: #0066CC;
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 564 B After Width: | Height: | Size: 564 B |
Before Width: | Height: | Size: 730 B After Width: | Height: | Size: 730 B |
Before Width: | Height: | Size: 7.2 KiB After Width: | Height: | Size: 7.2 KiB |
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 540 B After Width: | Height: | Size: 540 B |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 994 B After Width: | Height: | Size: 994 B |
Before Width: | Height: | Size: 729 B After Width: | Height: | Size: 729 B |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 945 B After Width: | Height: | Size: 945 B |
|
@ -88,7 +88,7 @@ function back(event) {
|
|||
event.preventDefault()
|
||||
|
||||
/* FIXME: DO NOT hardcode URLs!!! */
|
||||
var url = '/repo/' + window.repoId + '/app/add/'
|
||||
var url = '/' + window.repoId + '/app/add/'
|
||||
var request = new XMLHttpRequest()
|
||||
request.onreadystatechange = function() {
|
||||
if (request.readyState === 4) {
|
||||
|
@ -110,7 +110,7 @@ function appsAdded(request) {
|
|||
}
|
||||
|
||||
/* FIXME: DO NOT hardcode URLs!!! */
|
||||
window.location = '/repo/' + window.repoId
|
||||
window.location = '/' + window.repoId
|
||||
}
|
||||
else {
|
||||
showError(request.responseText)
|
|
@ -132,11 +132,12 @@ function putAppInformation(jsonHtmlRelation, app, appCard) {
|
|||
element.classList.add(rel)
|
||||
|
||||
var appId = app[jsonHtmlRelation[rel]]
|
||||
var repoId = window.location.href.split('/')[4]
|
||||
var repoId = window.location.href.split('/')[3] /* FIXME: DO NOT rely on URLs!!! */
|
||||
var remoteRepoId = app['repo_id']
|
||||
|
||||
element.id = rel + '--' + appId
|
||||
element.href = '/repo/' + repoId + '/app/remote/' + remoteRepoId + '/add/' + appId
|
||||
/* FIXME: DO NOT hardcode URLs!!! */
|
||||
element.href = '/' + repoId + '/remote-app/' + remoteRepoId + '/add/' + appId
|
||||
element.addEventListener('click', function(event) {
|
||||
addRemoteApp(event, parseInt(repoId), remoteRepoId, appId)
|
||||
})
|
||||
|
@ -175,7 +176,7 @@ function putAppInformation(jsonHtmlRelation, app, appCard) {
|
|||
var repoId = appCard.pathname.split('/')[2]
|
||||
var appId = app[jsonHtmlRelation[rel]]
|
||||
/* FIXME: DO NOT hardcode URLs!!! */
|
||||
var url = '/repo/' + repoId + '/app/' + appId
|
||||
var url = '/' + repoId + '/app/' + appId
|
||||
appCard.href = url
|
||||
continue
|
||||
}
|
||||
|
@ -194,12 +195,12 @@ function putAppInformation(jsonHtmlRelation, app, appCard) {
|
|||
appCard.classList.remove('rm-app-card--no-hover')
|
||||
appCard.classList.add('rm-app-card')
|
||||
}
|
||||
var repoId = window.location.href.split('/')[4]
|
||||
var repoId = window.location.href.split('/')[3] /* FIXME: DO NOT rely on URLs!!! */
|
||||
var remoteRepoId = app['repo_id']
|
||||
var appId = app[jsonHtmlRelation[rel]]
|
||||
var lang = app['lang']
|
||||
/* FIXME: DO NOT hardcode URLs!!! */
|
||||
var url = '/repo/' + repoId + '/remote-app/' + remoteRepoId + '/' + appId + '/lang/' + lang
|
||||
var url = '/' + repoId + '/remote-app/' + remoteRepoId + '/' + appId + '/lang/' + lang
|
||||
|
||||
// Add on-click listener and remove HTML attribute
|
||||
appCard.addEventListener('click', function(event) {
|
|
@ -4,7 +4,7 @@ import re
|
|||
from django.conf import settings
|
||||
from django.core.files.storage import FileSystemStorage
|
||||
|
||||
from maker.utils import to_universal_language_code
|
||||
from repomaker.utils import to_universal_language_code
|
||||
|
||||
REPO_DIR = 'repo'
|
||||
|
|
@ -7,13 +7,13 @@ from django.core.exceptions import ObjectDoesNotExist
|
|||
from django.dispatch import receiver
|
||||
from django.utils import timezone
|
||||
|
||||
import maker.models
|
||||
import repomaker.models
|
||||
|
||||
|
||||
@background(schedule=timezone.now())
|
||||
def update_repo(repo_id):
|
||||
try:
|
||||
repo = maker.models.repository.Repository.objects.get(pk=repo_id)
|
||||
repo = repomaker.models.Repository.objects.get(pk=repo_id)
|
||||
except ObjectDoesNotExist as e:
|
||||
logging.warning('Repository does not exist anymore, dropping task. (%s)', e)
|
||||
return
|
||||
|
@ -35,7 +35,7 @@ def update_repo(repo_id):
|
|||
@background(schedule=timezone.now())
|
||||
def update_remote_repo(remote_repo_id):
|
||||
try:
|
||||
remote_repo = maker.models.remoterepository.RemoteRepository.objects.get(pk=remote_repo_id)
|
||||
remote_repo = repomaker.models.RemoteRepository.objects.get(pk=remote_repo_id)
|
||||
except ObjectDoesNotExist as e:
|
||||
logging.warning('Remote Repository does not exist anymore, dropping task. (%s)', e)
|
||||
# TODO cancel repeating task
|
||||
|
@ -57,7 +57,7 @@ def update_remote_repo(remote_repo_id):
|
|||
@background(schedule=timezone.now())
|
||||
def download_apk(apk_id, url):
|
||||
try:
|
||||
apk = maker.models.apk.Apk.objects.get(pk=apk_id)
|
||||
apk = repomaker.models.Apk.objects.get(pk=apk_id)
|
||||
except ObjectDoesNotExist as e:
|
||||
logging.warning('APK does not exist anymore, dropping task. (%s)', e)
|
||||
return
|
||||
|
@ -77,12 +77,12 @@ def download_apk(apk_id, url):
|
|||
@background(schedule=timezone.now())
|
||||
def download_remote_graphic_assets(app_id, remote_app_id):
|
||||
try:
|
||||
app = maker.models.app.App.objects.get(pk=app_id)
|
||||
app = repomaker.models.App.objects.get(pk=app_id)
|
||||
except ObjectDoesNotExist as e:
|
||||
logging.warning('App does not exist anymore, dropping task. (%s)', e)
|
||||
return
|
||||
try:
|
||||
remote_app = maker.models.remoteapp.RemoteApp.objects.get(pk=remote_app_id)
|
||||
remote_app = repomaker.models.RemoteApp.objects.get(pk=remote_app_id)
|
||||
except ObjectDoesNotExist as e:
|
||||
logging.warning('Remote App does not exist anymore, dropping task. (%s)', e)
|
||||
return
|
||||
|
@ -92,7 +92,7 @@ def download_remote_graphic_assets(app_id, remote_app_id):
|
|||
@background(schedule=timezone.now())
|
||||
def download_remote_screenshot(screenshot_id, app_id):
|
||||
try:
|
||||
screenshot = maker.models.screenshot.RemoteScreenshot.objects.get(pk=screenshot_id)
|
||||
screenshot = repomaker.models.RemoteScreenshot.objects.get(pk=screenshot_id)
|
||||
screenshot.download(app_id)
|
||||
except ObjectDoesNotExist as e:
|
||||
logging.warning('Remote Screenshot does not exist anymore, dropping task. (%s)', e)
|
||||
|
@ -102,13 +102,13 @@ def download_remote_screenshot(screenshot_id, app_id):
|
|||
def task_failed_receiver(**kwargs):
|
||||
task = kwargs['completed_task']
|
||||
|
||||
if task.task_name == 'maker.tasks.update_remote_repo':
|
||||
if task.task_name == 'repomaker.tasks.update_remote_repo':
|
||||
# extract task parameters
|
||||
task_params = json.loads(task.task_params)
|
||||
params = task_params[0]
|
||||
remote_repo_id = params[0]
|
||||
|
||||
# fetch and disable remote repository
|
||||
remote_repo = maker.models.remoterepository.RemoteRepository.objects.get(pk=remote_repo_id)
|
||||
remote_repo = repomaker.models.RemoteRepository.objects.get(pk=remote_repo_id)
|
||||
remote_repo.disabled = True
|
||||
remote_repo.save()
|
|
@ -1,4 +1,4 @@
|
|||
{% extends "maker/base.html" %}
|
||||
{% extends "repomaker/base.html" %}
|
||||
{% load i18n %}
|
||||
{% load sass_tags %}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
{% extends "maker/base_modal.html" %}
|
||||
{% extends "repomaker/base_modal.html" %}
|
||||
|
||||
{% load i18n %}
|
||||
{% load sass_tags %}
|
|
@ -1,4 +1,4 @@
|
|||
{% extends "maker/base_modal.html" %}
|
||||
{% extends "repomaker/base_modal.html" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block title %}{% trans 'Logout' %}{% endblock title %}
|
|
@ -1,4 +1,4 @@
|
|||
{% extends "maker/base_modal.html" %}
|
||||
{% extends "repomaker/base_modal.html" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block title %}{% trans 'Forgot Password' %}{% endblock title %}
|
||||
|
@ -18,7 +18,7 @@
|
|||
|
||||
<form class="rm-form mdl-grid" action="" enctype="multipart/form-data" method="post">
|
||||
{% csrf_token %}
|
||||
{% include 'maker/form.html' %}
|
||||
{% include 'repomaker/form.html' %}
|
||||
<input type="submit" value="{% trans 'submit' %}"/>
|
||||
</form>
|
||||
</div>
|
|
@ -1,4 +1,4 @@
|
|||
{% extends "maker/base_modal.html" %}
|
||||
{% extends "repomaker/base_modal.html" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block title %}{% trans 'Forgot Password' %}{% endblock title %}
|
|
@ -5,7 +5,7 @@
|
|||
{% if redirect_field_value %}
|
||||
<input type="hidden" name="{{ redirect_field_name }}" value="{{ redirect_field_value }}"/>
|
||||
{% endif %}
|
||||
{% include 'maker/form.html' %}
|
||||
{% include 'repomaker/form.html' %}
|
||||
<div class="mdl-cell mdl-cell--12-col">
|
||||
<input type="submit" class="rm-button--blue" value="{% trans 'Signup' %}">
|
||||
</div>
|
|
@ -1,4 +1,4 @@
|
|||
{% extends "maker/base_modal.html" %}
|
||||
{% extends "repomaker/base_modal.html" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block title %}{% trans 'Delete App Version' %}{% endblock %}
|
|
@ -1,4 +1,4 @@
|
|||
{% extends "maker/base_modal.html" %}
|
||||
{% extends "repomaker/base_modal.html" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block title %}{% trans 'Delete App' %}{% endblock %}
|
|
@ -1,4 +1,4 @@
|
|||
{% extends "maker/app/index.html" %}
|
||||
{% extends "repomaker/app/index.html" %}
|
||||
{% load i18n %}
|
||||
{% load static %}
|
||||
|
||||
|
@ -205,5 +205,5 @@
|
|||
|
||||
{% block page-footer %}
|
||||
</form>
|
||||
<script src="{% static 'maker/js/app/edit.js' %}"></script>
|
||||
<script src="{% static 'repomaker/js/app/edit.js' %}"></script>
|
||||
{% endblock page-footer %}
|
|
@ -1,4 +1,4 @@
|
|||
{% extends "maker/base_modal.html" %}
|
||||
{% extends "repomaker/base_modal.html" %}
|
||||
{% load i18n %}
|
||||
{% load humanize %}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
{% extends "maker/app/index.html" %}
|
||||
{% extends "repomaker/app/index.html" %}
|
||||
{% load i18n %}
|
||||
{% load static %}
|
||||
|
||||
|
@ -54,6 +54,6 @@
|
|||
{% block apks %}{% endblock apks %}
|
||||
|
||||
{% block page-footer %}
|
||||
<script src="{% static 'maker/js/app/add.js' %}"></script>
|
||||
<script src="{% static 'maker/js/app/remote_add.js' %}"></script>
|
||||
<script src="{% static 'repomaker/js/app/add.js' %}"></script>
|
||||
<script src="{% static 'repomaker/js/app/remote_add.js' %}"></script>
|
||||
{% endblock page-footer %}
|
|
@ -1,4 +1,4 @@
|
|||
{% extends "maker/base.html" %}
|
||||
{% extends "repomaker/base.html" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block title %}{% trans 'Add Screenshot' %}{% endblock %}
|
|
@ -1,4 +1,4 @@
|
|||
{% extends "maker/base_modal.html" %}
|
||||
{% extends "repomaker/base_modal.html" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block title %}{% trans 'Delete Screenshot' %}{% endblock %}
|
|
@ -1,4 +1,4 @@
|
|||
{% extends "maker/app/edit.html" %}
|
||||
{% extends "repomaker/app/edit.html" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block back-button %}
|
|
@ -7,7 +7,7 @@
|
|||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||
<title>Repo Maker - {% block title %}{% endblock %}</title>
|
||||
<link href="{% sass_src 'maker/css/styles.scss' %}" rel="stylesheet" type="text/css" media="all">
|
||||
<link href="{% sass_src 'repomaker/css/styles.scss' %}" rel="stylesheet" type="text/css" media="all">
|
||||
<script src="{% url 'javascript-catalog' %}"></script>
|
||||
{% block head %}{% endblock head %}
|
||||
</head>
|
||||
|
@ -51,7 +51,7 @@
|
|||
|
||||
<main class="mdl-layout__content">
|
||||
{% block rm-content--without-margin %}
|
||||
{% include 'maker/widgets/site_notice.html' %}
|
||||
{% include 'repomaker/widgets/site_notice.html' %}
|
||||
{% endblock rm-content--without-margin %}
|
||||
<div class="rm-content">{% block rm-content %}{% endblock %}</div>
|
||||
</main>
|
||||
|
@ -64,7 +64,7 @@
|
|||
This is due to a bug in MDL: https://github.com/google/material-design-lite/issues/1502
|
||||
Remove when migrating to another library
|
||||
-->
|
||||
<script src="{% static 'maker/js/no-invalid-by-default.js' %}"></script>
|
||||
<script src="{% static 'repomaker/js/no-invalid-by-default.js' %}"></script>
|
||||
{% endif %}
|
||||
</body>
|
||||
</html>
|
|
@ -1,4 +1,4 @@
|
|||
{% extends "maker/base.html" %}
|
||||
{% extends "repomaker/base.html" %}
|
||||
|
||||
{% block rm-header-classes %}rm-header--light{% endblock rm-header-classes %}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
{% extends "maker/base_modal.html" %}
|
||||
{% extends "repomaker/base_modal.html" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block title %}{% trans 'Please Wait!' %}{% endblock title %}
|
|
@ -1,4 +1,4 @@
|
|||
{% extends "maker/base_modal.html" %}
|
||||
{% extends "repomaker/base_modal.html" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block title %}{% trans 'Error' %}{% endblock title %}
|