Skip to content

Commit

Permalink
Merge 37b80be into 1d2c054
Browse files Browse the repository at this point in the history
  • Loading branch information
feanil committed Jun 3, 2019
2 parents 1d2c054 + 37b80be commit b209b46
Show file tree
Hide file tree
Showing 34 changed files with 72 additions and 19 deletions.
19 changes: 11 additions & 8 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,32 +1,35 @@
language: python

python:
- 2.7
- 3.6

env:
- TOXENV=django18
- TOXENV=django111

matrix:
include:
- python: 2.7
env: TOXENV=quality
- python: 3.6
env: TOXENV=py36
allow_failures:
- python: 3.6
env: TOXENV=quality

before_install:
- export DJANGO_SETTINGS_MODULE=settings

install:
- make install
sudo: false

script:
- make test

after_success: coveralls

deploy:
provider: pypi
user: edx
distributions: sdist bdist_wheel
on:
tags: true
python: 2.7
python: 3.6
condition: '$TOXENV = django111'
password:
secure: oVeS9OrvR5XvJMg86eO004xk9KFh9IbUxWqyWYYFZf1drtrzG2Bm7+F0BgF1hY2l+qyHXinPCCeBmV9CEfav80se1r8K0JFu9MwBHQkvaeBAJV+ItQ2ZumtgNNONoL5VZHIRbEYwl/lbZCWaXpmDLkJSlRVYCECP2bH+RcZkbQM=
2 changes: 2 additions & 0 deletions manage.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
#!/usr/bin/env python
from __future__ import absolute_import
from __future__ import unicode_literals
import os
import sys

Expand Down
1 change: 1 addition & 0 deletions milestones/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""
Milestones app initialization module
"""
from __future__ import unicode_literals
__version__ = '0.1.13'
2 changes: 2 additions & 0 deletions milestones/admin.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
"""
Admin module for milestones app
"""
from __future__ import absolute_import
from __future__ import unicode_literals
from django.contrib import admin

from milestones.models import (
Expand Down
4 changes: 3 additions & 1 deletion milestones/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
Note the terminology difference at this layer vs. Data -- add/edit/get/remove
"""
from __future__ import absolute_import
from __future__ import unicode_literals
from . import data
from . import exceptions
from . import validators
Expand Down Expand Up @@ -218,7 +220,7 @@ def get_course_milestones_fulfillment_paths(course_key, user):
# Build the set of fulfillment paths for the outstanding milestones
fulfillment_paths = {}
for milestone in required_milestones:
dict_key = '{}.{}'.format(milestone['namespace'].encode('utf-8'), milestone['name'].encode('utf-8'))
dict_key = '{}.{}'.format(milestone['namespace'], milestone['name'])
fulfillment_paths[dict_key] = {}
milestone_courses = data.fetch_milestone_courses(
milestone,
Expand Down
1 change: 1 addition & 0 deletions milestones/data.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
import milestones.resources as remote
"""
from __future__ import absolute_import
from __future__ import unicode_literals
from . import exceptions
from . import models as internal
from . import serializers
Expand Down
2 changes: 2 additions & 0 deletions milestones/exceptions.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
"""
Application-specific exception classes used throughout the implementation
"""
from __future__ import absolute_import
from __future__ import unicode_literals
from django.core.exceptions import ValidationError


Expand Down
2 changes: 2 additions & 0 deletions milestones/management/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
"""
Milestones management package initialization module
"""

from __future__ import unicode_literals
2 changes: 2 additions & 0 deletions milestones/management/commands/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
"""
Milestones management commands package initialization module
"""

from __future__ import unicode_literals
2 changes: 2 additions & 0 deletions milestones/management/commands/tests/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
"""
Milestones management commands tests package initialization module
"""

from __future__ import unicode_literals
1 change: 1 addition & 0 deletions milestones/migrations/0001_initial.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from __future__ import absolute_import
from django.db import models, migrations
import django.utils.timezone
import model_utils.fields
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from __future__ import absolute_import
from django.db import migrations, models

from milestones.data import fetch_milestone_relationship_types
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from __future__ import absolute_import
from django.db import migrations, models


Expand Down
1 change: 1 addition & 0 deletions milestones/migrations/0004_auto_20151221_1445.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from __future__ import absolute_import
from django.db import migrations, models


Expand Down
2 changes: 2 additions & 0 deletions milestones/migrations/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
"""
Milestones migrations package initialization module
"""

from __future__ import unicode_literals
12 changes: 7 additions & 5 deletions milestones/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
which leverages Django's signal framework.
"""

from __future__ import absolute_import
from __future__ import unicode_literals
from django.db import models
from model_utils.models import TimeStampedModel

Expand All @@ -32,7 +34,7 @@ class Meta:
unique_together = (("namespace", "name"),)

def __unicode__(self):
return unicode(self.namespace)
return str(self.namespace)


class MilestoneRelationshipType(TimeStampedModel):
Expand Down Expand Up @@ -61,7 +63,7 @@ class MilestoneRelationshipType(TimeStampedModel):
active = models.BooleanField(default=True)

def __unicode__(self):
return unicode(self.name)
return str(self.name)

@classmethod
# pylint: disable=invalid-name
Expand Down Expand Up @@ -94,7 +96,7 @@ class Meta:
unique_together = (("course_id", "milestone"),)

def __unicode__(self):
return unicode("%s:%s:%s" % (self.course_id, self.milestone_relationship_type, self.milestone))
return str("%s:%s:%s" % (self.course_id, self.milestone_relationship_type, self.milestone))


class CourseContentMilestone(TimeStampedModel):
Expand Down Expand Up @@ -125,7 +127,7 @@ class Meta:
unique_together = (("course_id", "content_id", "milestone"),)

def __unicode__(self):
return unicode("%s:%s:%s" % (self.content_id, self.milestone_relationship_type, self.milestone))
return str("%s:%s:%s" % (self.content_id, self.milestone_relationship_type, self.milestone))


class UserMilestone(TimeStampedModel):
Expand Down Expand Up @@ -154,4 +156,4 @@ class Meta:
unique_together = ("user_id", "milestone")

def __unicode__(self):
return unicode("%s:%s" % (self.user_id, self.milestone))
return str("%s:%s" % (self.user_id, self.milestone))
2 changes: 2 additions & 0 deletions milestones/resources.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,5 @@
This module should only be called directly by data.py, in order to
maintain the intended data layer abstractions/contracts.
"""

from __future__ import unicode_literals
2 changes: 2 additions & 0 deletions milestones/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
Data layer serialization operations. Converts querysets to simple
python containers (mainly arrays and dicts).
"""
from __future__ import absolute_import
from __future__ import unicode_literals
import json

from . import models
Expand Down
2 changes: 2 additions & 0 deletions milestones/services.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
A wrapper class around requested methods exposed in api.py
"""

from __future__ import absolute_import
from __future__ import unicode_literals
import types

from milestones import api as milestones_api
Expand Down
2 changes: 2 additions & 0 deletions milestones/tests/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
"""
Milestones Tests initialization module
"""

from __future__ import unicode_literals
2 changes: 2 additions & 0 deletions milestones/tests/mocks/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
""" Milestones Tests Mocks initialization module """

from __future__ import unicode_literals
2 changes: 2 additions & 0 deletions milestones/tests/mocks/resources.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
"""
Mock implementations of remote dependencies for test isolation
"""

from __future__ import unicode_literals
2 changes: 2 additions & 0 deletions milestones/tests/test_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
Milestones API Module Test Cases
"""
from __future__ import absolute_import
from __future__ import unicode_literals

from opaque_keys.edx.keys import UsageKey

import milestones.api as api
Expand Down
1 change: 1 addition & 0 deletions milestones/tests/test_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
Note: 'Unit Test: ' labels are output to the console during test runs
"""
from __future__ import absolute_import
from __future__ import unicode_literals
import milestones.api as api
import milestones.data as data
import milestones.exceptions as exceptions
Expand Down
2 changes: 2 additions & 0 deletions milestones/tests/test_services.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
Test for the xBlock service
"""

from __future__ import absolute_import
from __future__ import unicode_literals
import unittest
import types

Expand Down
2 changes: 2 additions & 0 deletions milestones/tests/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
"""
Utility module for Milestones test cases
"""
from __future__ import absolute_import
from __future__ import unicode_literals
from django.contrib.auth.models import User
from django.test import TestCase
from opaque_keys.edx.keys import CourseKey, UsageKey
Expand Down
2 changes: 2 additions & 0 deletions milestones/urls.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
"""
urls.py -- useful some day when views.py comes alive
"""

from __future__ import unicode_literals
1 change: 1 addition & 0 deletions milestones/validators.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
Validators confirm the integrity of inbound information prior to a data.py handoff
"""
from __future__ import absolute_import
from __future__ import unicode_literals
import json

from opaque_keys import InvalidKeyError
Expand Down
2 changes: 2 additions & 0 deletions milestones/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,5 @@
In this particular application, the views simply hand-off to the
orchestration layer, which manages the application's workflows.
"""

from __future__ import unicode_literals
2 changes: 1 addition & 1 deletion openedx.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
oeps:
oep-7: false
oep-7: true
oep-18: false

tags:
Expand Down
1 change: 1 addition & 0 deletions settings.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
from __future__ import unicode_literals
DEBUG=True
TEST_MODE=True
TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'
Expand Down
4 changes: 3 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
#!/usr/bin/env python

from __future__ import absolute_import
from __future__ import unicode_literals
from setuptools import setup, find_packages
from milestones import __version__ as VERSION

Expand Down Expand Up @@ -27,7 +29,7 @@
"edx-opaque-keys>=0.2.1,<1.0.0",
],
tests_require=[
"coverage==3.7.1",
"coverage==4.5.3",
"nose==1.3.3",
"httpretty==0.8.0",
"pep8==1.5.7",
Expand Down
2 changes: 1 addition & 1 deletion test_requirements.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
astroid==1.3.8 # Pinning to avoid backwards incompatibility issue with pylint/pylint-django
coveralls
coverage==3.7.1
coverage==4.5.3
django_nose>=1.4.1
nose==1.3.3
httpretty==0.8.0
Expand Down
3 changes: 1 addition & 2 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
[tox]
envlist = py27,py36-django{18,111}
envlist = py{27,36}-django{111}

[testenv]
setenv =
DJANGO_SETTINGS_MODULE = settings
PYTHONPATH = {toxinidir}

deps =
django18: Django>=1.8,<1.9
django111: Django>=1.11,<2.0
-rtest_requirements.txt

Expand Down

0 comments on commit b209b46

Please sign in to comment.