From d0deae928671eec74f108347bbaa17f7eac1e7ca Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Fri, 6 Mar 2015 20:40:44 -0400 Subject: [PATCH] Remove installation stats --- mayan/apps/installation/__init__.py | 13 -------- mayan/apps/installation/literals.py | 6 ---- mayan/apps/installation/models.py | 22 -------------- ...to__del_field_installation_is_first_run.py | 30 +++++++++++++++++++ mayan/apps/installation/tasks.py | 17 ----------- 5 files changed, 30 insertions(+), 58 deletions(-) delete mode 100644 mayan/apps/installation/literals.py create mode 100644 mayan/apps/installation/south_migrations/0003_auto__del_field_installation_is_first_run.py delete mode 100644 mayan/apps/installation/tasks.py diff --git a/mayan/apps/installation/__init__.py b/mayan/apps/installation/__init__.py index dc41396ade..d88d725880 100644 --- a/mayan/apps/installation/__init__.py +++ b/mayan/apps/installation/__init__.py @@ -13,7 +13,6 @@ from project_tools.api import register_tool from .classes import Property, PropertyNamespace from .links import link_menu_link, link_namespace_details, link_namespace_list from .models import Installation -from .tasks import task_details_submit @receiver(post_migrate, dispatch_uid='create_installation_instance') @@ -22,17 +21,6 @@ def create_installation_instance(sender, **kwargs): Installation.objects.get_or_create() -def check_first_run(): - try: - details = Installation.objects.get() - except DatabaseError: - # Avoid database errors when the app tables haven't been created yet - pass - else: - if details.is_first_run: - task_details_submit.apply_async(queue='tools') - - register_model_list_columns(PropertyNamespace, [ { 'name': _('Label'), @@ -55,7 +43,6 @@ register_model_list_columns(Property, [ } ]) -check_first_run() register_links(PropertyNamespace, [link_namespace_details]) register_links(['installation:namespace_list', PropertyNamespace], [link_namespace_list], menu_name='secondary_menu') register_tool(link_menu_link) diff --git a/mayan/apps/installation/literals.py b/mayan/apps/installation/literals.py deleted file mode 100644 index adc6b3cc9c..0000000000 --- a/mayan/apps/installation/literals.py +++ /dev/null @@ -1,6 +0,0 @@ -from __future__ import unicode_literals - -FORM_SUBMIT_URL = 'https://docs.google.com/spreadsheet/formResponse' -FORM_KEY = 'dGZrYkw3SDl5OENMTG15emp1UFFEUWc6MQ' -FORM_RECEIVER_FIELD = 'entry.0.single' -TIMEOUT = 5 diff --git a/mayan/apps/installation/models.py b/mayan/apps/installation/models.py index 30611549f6..a1165f33bd 100644 --- a/mayan/apps/installation/models.py +++ b/mayan/apps/installation/models.py @@ -8,7 +8,6 @@ import time from git import Repo import psutil -import requests import sh try: @@ -28,17 +27,14 @@ from solo.models import SingletonModel from common.utils import pretty_size from mayan import __version__ as mayan_version -from lock_manager import Lock, LockError from ocr.settings import PDFTOTEXT_PATH, TESSERACT_PATH, UNPAPER_PATH from .classes import PIPNotFound, Property, PropertyNamespace, VirtualEnv -from .literals import FORM_KEY, FORM_RECEIVER_FIELD, FORM_SUBMIT_URL, TIMEOUT class Installation(SingletonModel): _properties = SortedDict() - is_first_run = models.BooleanField(default=True) uuid = models.CharField(max_length=48, blank=True, default=lambda: unicode(uuid.uuid4())) def add_property(self, property_instance): @@ -156,23 +152,5 @@ class Installation(SingletonModel): except KeyError: raise AttributeError - def submit(self): - try: - lock = Lock.acquire_lock('upload_stats') - except LockError: - pass - else: - self.set_properties() - - try: - requests.post(FORM_SUBMIT_URL, data={'formkey': FORM_KEY, FORM_RECEIVER_FIELD: Property.get_reportable(as_json=True)}, timeout=TIMEOUT) - except Exception: - raise - else: - self.is_first_run = False - self.save() - finally: - lock.release() - class Meta: verbose_name = verbose_name_plural = _('Installation details') diff --git a/mayan/apps/installation/south_migrations/0003_auto__del_field_installation_is_first_run.py b/mayan/apps/installation/south_migrations/0003_auto__del_field_installation_is_first_run.py new file mode 100644 index 0000000000..9c585a1940 --- /dev/null +++ b/mayan/apps/installation/south_migrations/0003_auto__del_field_installation_is_first_run.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- +from south.utils import datetime_utils as datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Deleting field 'Installation.is_first_run' + db.delete_column(u'installation_installation', 'is_first_run') + + + def backwards(self, orm): + # Adding field 'Installation.is_first_run' + db.add_column(u'installation_installation', 'is_first_run', + self.gf('django.db.models.fields.BooleanField')(default=False), + keep_default=False) + + + models = { + u'installation.installation': { + 'Meta': {'object_name': 'Installation'}, + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'uuid': ('django.db.models.fields.CharField', [], {'default': "u'07356898-9962-44e8-ab5f-1c1735f9e306'", 'max_length': '48', 'blank': 'True'}) + } + } + + complete_apps = ['installation'] \ No newline at end of file diff --git a/mayan/apps/installation/tasks.py b/mayan/apps/installation/tasks.py deleted file mode 100644 index f3845c4a31..0000000000 --- a/mayan/apps/installation/tasks.py +++ /dev/null @@ -1,17 +0,0 @@ -from __future__ import unicode_literals - -import requests - -from mayan.celery import app - -from .models import Installation - - -# TODO: move rate_limit to literals.py -@app.task(bind=True, ignore_result=True, max_retries=None, rate_limit='1/m') -def task_details_submit(self): - try: - details = Installation.objects.get() - details.submit() - except (requests.exceptions.Timeout, requests.exceptions.ConnectionError) as exception: - raise self.retry(exc=exception)