Milimetric has uploaded a new change for review.
https://gerrit.wikimedia.org/r/148537
Change subject: Fix bad dependency chains and imports
......................................................................
Fix bad dependency chains and imports
Bug: 68410
Change-Id: I80e91b9c7db18a1fb16e66f0834788bda7cbf742
---
M tests/test_controllers/test_cohort_upload.py
M tests/test_metrics/test_bytes_added.py
M tests/test_metrics/test_edge_cases.py
M tests/test_metrics/test_namespace_edits.py
M tests/test_metrics/test_revert_rate.py
M tests/test_metrics/test_rolling_active_editor.py
M tests/test_metrics/test_timeseries.py
M tests/test_models/test_aggregate_report.py
M tests/test_models/test_run_report.py
M tests/test_models/test_validate_cohort.py
M wikimetrics/api/file_manager.py
M wikimetrics/controllers/cohorts.py
M wikimetrics/controllers/reports.py
M wikimetrics/enums.py
R wikimetrics/forms/__init__.py
R wikimetrics/forms/cohort_upload.py
R wikimetrics/forms/fields.py
R wikimetrics/forms/secure_form.py
M wikimetrics/metrics/bytes_added.py
M wikimetrics/metrics/metric.py
M wikimetrics/metrics/namespace_edits.py
M wikimetrics/metrics/newly_registered.py
M wikimetrics/metrics/pages_created.py
M wikimetrics/metrics/revert_rate.py
M wikimetrics/metrics/rolling_active_editor.py
M wikimetrics/metrics/survival.py
M wikimetrics/metrics/threshold.py
M wikimetrics/metrics/timeseries_metric.py
M wikimetrics/models/report_nodes/run_report.py
29 files changed, 67 insertions(+), 93 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/analytics/wikimetrics
refs/changes/37/148537/1
diff --git a/tests/test_controllers/test_cohort_upload.py
b/tests/test_controllers/test_cohort_upload.py
index 708b1f3..9caf521 100644
--- a/tests/test_controllers/test_cohort_upload.py
+++ b/tests/test_controllers/test_cohort_upload.py
@@ -4,7 +4,7 @@
from exceptions import StopIteration
from tests.fixtures import WebTest
-from wikimetrics.controllers.forms.cohort_upload import (
+from wikimetrics.forms.cohort_upload import (
parse_records,
parse_username,
normalize_newlines,
diff --git a/tests/test_metrics/test_bytes_added.py
b/tests/test_metrics/test_bytes_added.py
index ff00169..5938b41 100644
--- a/tests/test_metrics/test_bytes_added.py
+++ b/tests/test_metrics/test_bytes_added.py
@@ -1,6 +1,7 @@
from nose.tools import assert_true, assert_equal, assert_false
from tests.fixtures import DatabaseTest
-from wikimetrics.metrics import BytesAdded, TimeseriesChoices
+from wikimetrics.metrics import BytesAdded
+from wikimetrics.enums import TimeseriesChoices
class BytesAddedTest(DatabaseTest):
diff --git a/tests/test_metrics/test_edge_cases.py
b/tests/test_metrics/test_edge_cases.py
index e24f27d..8d8ef9d 100644
--- a/tests/test_metrics/test_edge_cases.py
+++ b/tests/test_metrics/test_edge_cases.py
@@ -2,12 +2,9 @@
from nose.tools import assert_true, assert_equals, assert_false
from tests.fixtures import QueueDatabaseTest
-from wikimetrics.metrics import NewlyRegistered
-from wikimetrics.metrics import (
- metric_classes, NamespaceEdits, TimeseriesChoices,
-)
+from wikimetrics.metrics import metric_classes, NewlyRegistered, NamespaceEdits
from wikimetrics.utils import r
-from wikimetrics.enums import Aggregation
+from wikimetrics.enums import Aggregation, TimeseriesChoices
from wikimetrics.models import AggregateReport
diff --git a/tests/test_metrics/test_namespace_edits.py
b/tests/test_metrics/test_namespace_edits.py
index 4213226..133997c 100644
--- a/tests/test_metrics/test_namespace_edits.py
+++ b/tests/test_metrics/test_namespace_edits.py
@@ -3,7 +3,8 @@
from tests.fixtures import QueueDatabaseTest, DatabaseTest, mediawiki_project
from wikimetrics.configurables import db
-from wikimetrics.metrics import NamespaceEdits, TimeseriesChoices
+from wikimetrics.metrics import NamespaceEdits
+from wikimetrics.enums import TimeseriesChoices
from wikimetrics.models import MetricReport
diff --git a/tests/test_metrics/test_revert_rate.py
b/tests/test_metrics/test_revert_rate.py
index c630c65..e144b80 100644
--- a/tests/test_metrics/test_revert_rate.py
+++ b/tests/test_metrics/test_revert_rate.py
@@ -1,7 +1,8 @@
from datetime import datetime
from nose.tools import assert_true, assert_equal, nottest
from tests.fixtures import QueueDatabaseTest, DatabaseTest
-from wikimetrics.metrics import RevertRate, TimeseriesChoices
+from wikimetrics.metrics import RevertRate
+from wikimetrics.enums import TimeseriesChoices
class RevertRateTest(DatabaseTest):
diff --git a/tests/test_metrics/test_rolling_active_editor.py
b/tests/test_metrics/test_rolling_active_editor.py
index db234b9..4734205 100644
--- a/tests/test_metrics/test_rolling_active_editor.py
+++ b/tests/test_metrics/test_rolling_active_editor.py
@@ -4,7 +4,8 @@
from tests.fixtures import DatabaseTest, i, d
from wikimetrics.utils import format_pretty_date as s
from wikimetrics.models import Revision
-from wikimetrics.metrics import RollingActiveEditor, TimeseriesChoices
+from wikimetrics.metrics import RollingActiveEditor
+from wikimetrics.enums import TimeseriesChoices
class RollingActiveEditorTest(DatabaseTest):
diff --git a/tests/test_metrics/test_timeseries.py
b/tests/test_metrics/test_timeseries.py
index 0f37a9d..d3d187d 100644
--- a/tests/test_metrics/test_timeseries.py
+++ b/tests/test_metrics/test_timeseries.py
@@ -1,10 +1,8 @@
from collections import OrderedDict
from datetime import datetime
from nose.tools import assert_equals
-from wikimetrics.metrics.timeseries_metric import (
- TimeseriesMetric,
- TimeseriesChoices,
-)
+from wikimetrics.metrics.timeseries_metric import TimeseriesMetric
+from wikimetrics.enums import TimeseriesChoices
from tests.fixtures import DatabaseTest
diff --git a/tests/test_models/test_aggregate_report.py
b/tests/test_models/test_aggregate_report.py
index 630dd63..4ead273 100644
--- a/tests/test_models/test_aggregate_report.py
+++ b/tests/test_models/test_aggregate_report.py
@@ -1,10 +1,8 @@
from nose.tools import assert_equals, assert_true
from wikimetrics.utils import r
-from wikimetrics.enums import Aggregation
-from wikimetrics.metrics import (
- metric_classes, NamespaceEdits, TimeseriesChoices,
-)
+from wikimetrics.enums import Aggregation, TimeseriesChoices
+from wikimetrics.metrics import metric_classes, NamespaceEdits
from wikimetrics.models import AggregateReport, CohortStore
from ..fixtures import QueueDatabaseTest, DatabaseTest
diff --git a/tests/test_models/test_run_report.py
b/tests/test_models/test_run_report.py
index fab9f20..8de9c7b 100644
--- a/tests/test_models/test_run_report.py
+++ b/tests/test_models/test_run_report.py
@@ -9,9 +9,9 @@
from tests.fixtures import QueueDatabaseTest, DatabaseTest
from wikimetrics.models import RunReport, ReportStore, WikiUserStore,
CohortWikiUserStore
from wikimetrics.exceptions import InvalidCohort
-from wikimetrics.metrics import TimeseriesChoices, metric_classes
+from wikimetrics.metrics import metric_classes
from wikimetrics.utils import diff_datewise, stringify, strip_time
-from wikimetrics.enums import Aggregation
+from wikimetrics.enums import Aggregation, TimeseriesChoices
from wikimetrics.configurables import queue
from wikimetrics.schedules.daily import recurring_reports
diff --git a/tests/test_models/test_validate_cohort.py
b/tests/test_models/test_validate_cohort.py
index cd4de1e..5a6b80f 100644
--- a/tests/test_models/test_validate_cohort.py
+++ b/tests/test_models/test_validate_cohort.py
@@ -3,7 +3,7 @@
from nose.tools import assert_equal, raises, assert_true, assert_false, nottest
from wikimetrics.configurables import app, get_absolute_path
from tests.fixtures import WebTest, QueueDatabaseTest, DatabaseTest,
mediawiki_project
-from wikimetrics.controllers.forms import CohortUpload
+from wikimetrics.forms import CohortUpload
from wikimetrics.models import (
CohortStore, WikiUserStore, UserStore,
MediawikiUser, ValidateCohort, normalize_project,
diff --git a/wikimetrics/api/file_manager.py b/wikimetrics/api/file_manager.py
index cbeee93..bc8a2e6 100644
--- a/wikimetrics/api/file_manager.py
+++ b/wikimetrics/api/file_manager.py
@@ -6,8 +6,7 @@
from wikimetrics.exceptions import PublicReportIOError
from wikimetrics.utils import update_dict
-from wikimetrics.enums import Aggregation
-from wikimetrics.metrics import TimeseriesChoices
+from wikimetrics.enums import Aggregation, TimeseriesChoices
# TODO ultils imports flask response -> fix
# Illegal filename characters
diff --git a/wikimetrics/controllers/cohorts.py
b/wikimetrics/controllers/cohorts.py
index 30bc13b..e98ea7b 100644
--- a/wikimetrics/controllers/cohorts.py
+++ b/wikimetrics/controllers/cohorts.py
@@ -10,7 +10,7 @@
)
from wikimetrics.exceptions import Unauthorized, DatabaseError
from wikimetrics.configurables import app, db
-from wikimetrics.controllers.forms import CohortUpload
+from wikimetrics.forms import CohortUpload
from wikimetrics.models import (
CohortStore, CohortUserStore, UserStore, WikiUserStore,
CohortWikiUserStore,
MediawikiUser, ValidateCohort, TagStore, CohortTagStore
diff --git a/wikimetrics/controllers/reports.py
b/wikimetrics/controllers/reports.py
index 750e7e5..da7df30 100644
--- a/wikimetrics/controllers/reports.py
+++ b/wikimetrics/controllers/reports.py
@@ -10,11 +10,10 @@
from wikimetrics.models import (
Report, RunReport, ReportStore, WikiUserStore, WikiUserKey,
)
-from wikimetrics.metrics import TimeseriesChoices
from wikimetrics.utils import (
json_response, json_error, json_redirect, thirty_days_ago, stringify
)
-from wikimetrics.enums import Aggregation
+from wikimetrics.enums import Aggregation, TimeseriesChoices
from wikimetrics.exceptions import UnauthorizedReportAccessError
from wikimetrics.api import PublicReportFileManager
diff --git a/wikimetrics/enums.py b/wikimetrics/enums.py
index 7748385..fd68ef2 100644
--- a/wikimetrics/enums.py
+++ b/wikimetrics/enums.py
@@ -15,3 +15,11 @@
ADMIN = 'ADMIN'
USER = 'USER'
GUEST = 'GUEST'
+
+
+class TimeseriesChoices(object):
+ NONE = 'none'
+ HOUR = 'hour'
+ DAY = 'day'
+ MONTH = 'month'
+ YEAR = 'year'
diff --git a/wikimetrics/controllers/forms/__init__.py
b/wikimetrics/forms/__init__.py
similarity index 84%
rename from wikimetrics/controllers/forms/__init__.py
rename to wikimetrics/forms/__init__.py
index 6b4d7ac..bafa288 100644
--- a/wikimetrics/controllers/forms/__init__.py
+++ b/wikimetrics/forms/__init__.py
@@ -1,6 +1,6 @@
from secure_form import *
from cohort_upload import *
+from fields import *
# ignore flake8 because of F403 violation
# flake8: noqa
-
diff --git a/wikimetrics/controllers/forms/cohort_upload.py
b/wikimetrics/forms/cohort_upload.py
similarity index 98%
rename from wikimetrics/controllers/forms/cohort_upload.py
rename to wikimetrics/forms/cohort_upload.py
index 0d7032b..5bffe1f 100644
--- a/wikimetrics/controllers/forms/cohort_upload.py
+++ b/wikimetrics/forms/cohort_upload.py
@@ -1,8 +1,9 @@
import csv
from wtforms import StringField, FileField, TextAreaField, RadioField
from wtforms.validators import Required
-from wikimetrics.metrics.form_fields import RequiredIfNot
+
from wikimetrics.utils import parse_username
+from fields import RequiredIfNot
from secure_form import WikimetricsSecureForm
diff --git a/wikimetrics/metrics/form_fields.py b/wikimetrics/forms/fields.py
similarity index 100%
rename from wikimetrics/metrics/form_fields.py
rename to wikimetrics/forms/fields.py
diff --git a/wikimetrics/controllers/forms/secure_form.py
b/wikimetrics/forms/secure_form.py
similarity index 99%
rename from wikimetrics/controllers/forms/secure_form.py
rename to wikimetrics/forms/secure_form.py
index b3aa219..7a4a1ba 100644
--- a/wikimetrics/controllers/forms/secure_form.py
+++ b/wikimetrics/forms/secure_form.py
@@ -1,9 +1,9 @@
from flask import session
from flask import current_app
from datetime import timedelta
+from wtforms.ext.csrf.session import SessionSecureForm
from wikimetrics.configurables import app
-from wtforms.ext.csrf.session import SessionSecureForm
class WikimetricsSecureForm(SessionSecureForm):
diff --git a/wikimetrics/metrics/bytes_added.py
b/wikimetrics/metrics/bytes_added.py
index e486c49..37b5266 100644
--- a/wikimetrics/metrics/bytes_added.py
+++ b/wikimetrics/metrics/bytes_added.py
@@ -1,19 +1,15 @@
-from ..utils import thirty_days_ago, today
-from ..models import Revision, Page
-from timeseries_metric import TimeseriesMetric
-from form_fields import (
+from sqlalchemy import func, case, cast, Integer
+from sqlalchemy.sql.expression import label
+from wtforms.validators import Required
+
+from wikimetrics.utils import thirty_days_ago, today
+from wikimetrics.models import Revision, Page
+from wikimetrics.forms.fields import (
BetterDateTimeField,
BetterBooleanField,
CommaSeparatedIntegerListField,
)
-from wtforms.validators import Required
-from sqlalchemy import func, case, cast, Integer
-from sqlalchemy.sql.expression import label
-
-
-__all__ = [
- 'BytesAdded',
-]
+from timeseries_metric import TimeseriesMetric
class BytesAdded(TimeseriesMetric):
diff --git a/wikimetrics/metrics/metric.py b/wikimetrics/metrics/metric.py
index 4d39059..ef440d8 100644
--- a/wikimetrics/metrics/metric.py
+++ b/wikimetrics/metrics/metric.py
@@ -1,4 +1,4 @@
-from wikimetrics.controllers.forms.secure_form import WikimetricsSecureForm
+from wikimetrics.forms import WikimetricsSecureForm
from wikimetrics.models import Revision
diff --git a/wikimetrics/metrics/namespace_edits.py
b/wikimetrics/metrics/namespace_edits.py
index b99bd1d..2767401 100644
--- a/wikimetrics/metrics/namespace_edits.py
+++ b/wikimetrics/metrics/namespace_edits.py
@@ -1,14 +1,10 @@
from sqlalchemy import func
-from timeseries_metric import TimeseriesMetric, TimeseriesChoices
-from form_fields import CommaSeparatedIntegerListField
from wtforms.validators import Required
+
from wikimetrics.utils import thirty_days_ago, today
from wikimetrics.models import Page, Revision
-
-
-__all__ = [
- 'NamespaceEdits',
-]
+from wikimetrics.forms.fields import CommaSeparatedIntegerListField
+from timeseries_metric import TimeseriesMetric
class NamespaceEdits(TimeseriesMetric):
diff --git a/wikimetrics/metrics/newly_registered.py
b/wikimetrics/metrics/newly_registered.py
index c560033..3a1012b 100644
--- a/wikimetrics/metrics/newly_registered.py
+++ b/wikimetrics/metrics/newly_registered.py
@@ -1,8 +1,7 @@
-from wikimetrics.metrics import Metric
-
from wikimetrics.models.mediawiki import Logging
from wikimetrics.utils import thirty_days_ago, today
-from form_fields import BetterDateTimeField
+from wikimetrics.forms.fields import BetterDateTimeField
+from metric import Metric
class NewlyRegistered(Metric):
diff --git a/wikimetrics/metrics/pages_created.py
b/wikimetrics/metrics/pages_created.py
index fedfd8c..6575c99 100644
--- a/wikimetrics/metrics/pages_created.py
+++ b/wikimetrics/metrics/pages_created.py
@@ -1,12 +1,10 @@
-from ..utils import thirty_days_ago, today
from sqlalchemy import func
-from timeseries_metric import TimeseriesMetric
-from form_fields import CommaSeparatedIntegerListField, BetterDateTimeField
from wtforms.validators import Required
+
+from wikimetrics.utils import thirty_days_ago, today
+from wikimetrics.forms.fields import CommaSeparatedIntegerListField,
BetterDateTimeField
from wikimetrics.models import Page, Revision
-
-
-__all__ = ['PagesCreated']
+from timeseries_metric import TimeseriesMetric
class PagesCreated(TimeseriesMetric):
diff --git a/wikimetrics/metrics/revert_rate.py
b/wikimetrics/metrics/revert_rate.py
index a699662..e4a910f 100644
--- a/wikimetrics/metrics/revert_rate.py
+++ b/wikimetrics/metrics/revert_rate.py
@@ -1,11 +1,8 @@
-from metric import Metric
-from ..utils import thirty_days_ago, today
-from form_fields import CommaSeparatedIntegerListField, BetterDateTimeField
from wtforms.validators import Required
-__all__ = [
- 'RevertRate',
-]
+from wikimetrics.utils import thirty_days_ago, today
+from wikimetrics.forms.fields import CommaSeparatedIntegerListField,
BetterDateTimeField
+from metric import Metric
class RevertRate(Metric):
diff --git a/wikimetrics/metrics/rolling_active_editor.py
b/wikimetrics/metrics/rolling_active_editor.py
index f43dc6c..3726f74 100644
--- a/wikimetrics/metrics/rolling_active_editor.py
+++ b/wikimetrics/metrics/rolling_active_editor.py
@@ -4,10 +4,10 @@
from wtforms.validators import Required
from wtforms import IntegerField
-from metric import Metric
-from form_fields import BetterDateTimeField
+from wikimetrics.forms.fields import BetterDateTimeField
from wikimetrics.utils import today
from wikimetrics.models.mediawiki import Revision, MediawikiUser, Archive
+from metric import Metric
class RollingActiveEditor(Metric):
diff --git a/wikimetrics/metrics/survival.py b/wikimetrics/metrics/survival.py
index dc47989..c8a84f3 100644
--- a/wikimetrics/metrics/survival.py
+++ b/wikimetrics/metrics/survival.py
@@ -1,17 +1,14 @@
-from wikimetrics.metrics import Metric
import datetime
import calendar
from sqlalchemy import func, case, Integer
from sqlalchemy.sql.expression import label, between, and_, or_
-
-from wikimetrics.models import Page, Revision, MediawikiUser
-from wikimetrics.utils import thirty_days_ago, today, CENSORED
-from form_fields import CommaSeparatedIntegerListField, BetterDateTimeField
from wtforms.validators import Required
from wtforms import BooleanField, IntegerField
-
-__all__ = ['Survival']
+from wikimetrics.utils import thirty_days_ago, today, CENSORED
+from wikimetrics.models import Page, Revision, MediawikiUser
+from wikimetrics.forms.fields import CommaSeparatedIntegerListField,
BetterDateTimeField
+from metric import Metric
class Survival(Metric):
diff --git a/wikimetrics/metrics/threshold.py b/wikimetrics/metrics/threshold.py
index 5940601..3227eda 100644
--- a/wikimetrics/metrics/threshold.py
+++ b/wikimetrics/metrics/threshold.py
@@ -1,18 +1,15 @@
-from wikimetrics.metrics import Metric
import datetime
import calendar
from sqlalchemy import func, case, Integer
from sqlalchemy.orm import aliased
from sqlalchemy.sql.expression import label, between, and_, or_
-
-from wikimetrics.models import Page, Revision, MediawikiUser
-from wikimetrics.utils import thirty_days_ago, today, CENSORED
-from form_fields import CommaSeparatedIntegerListField, BetterDateTimeField
from wtforms.validators import Required
from wtforms import BooleanField, IntegerField
-
-__all__ = ['Threshold']
+from wikimetrics.models import Page, Revision, MediawikiUser
+from wikimetrics.utils import thirty_days_ago, today, CENSORED
+from wikimetrics.forms.fields import CommaSeparatedIntegerListField,
BetterDateTimeField
+from metric import Metric
class Threshold(Metric):
diff --git a/wikimetrics/metrics/timeseries_metric.py
b/wikimetrics/metrics/timeseries_metric.py
index 58a2b8d..e2854aa 100644
--- a/wikimetrics/metrics/timeseries_metric.py
+++ b/wikimetrics/metrics/timeseries_metric.py
@@ -6,19 +6,9 @@
from wikimetrics.models import Revision
from wikimetrics.utils import thirty_days_ago, today, format_pretty_date
+from wikimetrics.enums import TimeseriesChoices
+from wikimetrics.forms.fields import CommaSeparatedIntegerListField,
BetterDateTimeField
from metric import Metric
-from form_fields import CommaSeparatedIntegerListField, BetterDateTimeField
-
-
-__all__ = ['TimeseriesChoices', 'TimeseriesMetric']
-
-
-class TimeseriesChoices(object):
- NONE = 'none'
- HOUR = 'hour'
- DAY = 'day'
- MONTH = 'month'
- YEAR = 'year'
class TimeseriesMetric(Metric):
diff --git a/wikimetrics/models/report_nodes/run_report.py
b/wikimetrics/models/report_nodes/run_report.py
index b894b70..bde84dc 100644
--- a/wikimetrics/models/report_nodes/run_report.py
+++ b/wikimetrics/models/report_nodes/run_report.py
@@ -8,7 +8,7 @@
from wikimetrics.configurables import db
from wikimetrics.models.storage.cohort import CohortStore
from wikimetrics.models.storage.report import ReportStore
-from wikimetrics.metrics import metric_classes, TimeseriesChoices
+from wikimetrics.metrics import metric_classes
from wikimetrics.utils import (
diff_datewise, timestamps_to_now, strip_time, to_datetime, thirty_days_ago,
)
--
To view, visit https://gerrit.wikimedia.org/r/148537
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I80e91b9c7db18a1fb16e66f0834788bda7cbf742
Gerrit-PatchSet: 1
Gerrit-Project: analytics/wikimetrics
Gerrit-Branch: master
Gerrit-Owner: Milimetric <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits