Skip to content

Commit d41452b

Browse files
committed
Merge pull request #1732 from Carreau/py3
Make some part of the codebase single source
2 parents 3127629 + 1ee4c8e commit d41452b

File tree

7 files changed

+48
-19
lines changed

7 files changed

+48
-19
lines changed

readthedocs/projects/migrations/0007_migrate_canonical_data.py

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# -*- coding: utf-8 -*-
2-
from __future__ import unicode_literals
2+
from __future__ import unicode_literals, print_function
33

44
from django.db import migrations
55
from django.db import transaction
@@ -15,12 +15,12 @@ def migrate_canonical(apps, schema_editor):
1515
url=project.canonical_url,
1616
canonical=True,
1717
)
18-
print u"Added {url} to {project}".format(url=project.canonical_url, project=project.name)
19-
except Exception, e:
20-
print e
21-
print u"Failed adding {url} to {project}".format(
18+
print(u"Added {url} to {project}".format(url=project.canonical_url, project=project.name))
19+
except Exception as e:
20+
print(e)
21+
print(u"Failed adding {url} to {project}".format(
2222
url=project.canonical_url, project=project.name
23-
)
23+
))
2424

2525

2626
class Migration(migrations.Migration):

readthedocs/projects/migrations/0010_migrate_domain_data.py

+13-8
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,24 @@
11
# -*- coding: utf-8 -*-
2-
from __future__ import unicode_literals
2+
from __future__ import unicode_literals, print_function
33

44
from django.db import models, migrations
55
import readthedocs.core.validators
66

7-
from urlparse import urlparse
7+
import sys
8+
9+
if sys.version_info > (3,):
10+
import urllib.parse as urlparse
11+
else:
12+
import urlparse
813

914

1015
def migrate_url(apps, schema_editor):
1116
Domain = apps.get_model("projects", "Domain")
1217
Domain.objects.filter(count=0).delete()
1318
for domain in Domain.objects.all():
1419
if domain.project.superprojects.count() or domain.project.main_language_project:
15-
print "{project} is a subproject or translation. Deleting domain.".format(
16-
project=domain.project.slug)
20+
print("{project} is a subproject or translation. Deleting domain.".format(
21+
project=domain.project.slug))
1722
domain.delete()
1823
continue
1924
parsed = urlparse(domain.url)
@@ -24,10 +29,10 @@ def migrate_url(apps, schema_editor):
2429
try:
2530
domain.domain = domain_string
2631
domain.save()
27-
print u"Added {domain} from {url}".format(url=domain.url, domain=domain_string)
28-
except Exception, e:
29-
print e
30-
print u"Failed {domain} from {url}".format(url=domain.url, domain=domain_string)
32+
print(u"Added {domain} from {url}".format(url=domain.url, domain=domain_string))
33+
except Exception as e:
34+
print(e)
35+
print(u"Failed {domain} from {url}".format(url=domain.url, domain=domain_string))
3136

3237
dms = Domain.objects.filter(domain=domain_string).order_by('-count')
3338
if dms.count() > 1:

readthedocs/projects/models.py

+7-1
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
import fnmatch
44
import logging
5+
import sys
56
import os
6-
from urlparse import urlparse
77

88
from django.conf import settings
99
from django.contrib.auth.models import User
@@ -34,6 +34,12 @@
3434
from readthedocs.vcs_support.backends import backend_cls
3535
from readthedocs.vcs_support.utils import Lock, NonBlockingLock
3636

37+
if sys.version_info > (3,):
38+
# pylint: disable=import-error
39+
from urllib.parse import urlparse
40+
# pylint: enable=import-error
41+
else:
42+
from urlparse import urlparse
3743

3844
log = logging.getLogger(__name__)
3945

readthedocs/redirects/admin.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1+
from __future__ import absolute_import
2+
13
from django.contrib import admin
2-
from models import Redirect
4+
from .models import Redirect
35

46

57
class RedirectAdmin(admin.ModelAdmin):

readthedocs/vcs_support/backends/bzr.py

+6-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
11
import csv
22
import re
3-
from StringIO import StringIO
3+
import sys
44

55
from readthedocs.projects.exceptions import ProjectImportError
66
from readthedocs.vcs_support.base import BaseVCS, VCSVersion
77

8+
if sys.version_info > (3,):
9+
from io import StringIO
10+
else:
11+
from StringIO import StringIO
12+
813

914
class Backend(BaseVCS):
1015
supports_tags = True

readthedocs/vcs_support/backends/git.py

+7-1
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,17 @@
22
import logging
33
import csv
44
import os
5-
from StringIO import StringIO
5+
import sys
66

77
from readthedocs.projects.exceptions import ProjectImportError
88
from readthedocs.vcs_support.base import BaseVCS, VCSVersion
99

10+
if sys.version_info > (3,):
11+
from io import StringIO
12+
else:
13+
from StringIO import StringIO
14+
15+
1016
log = logging.getLogger(__name__)
1117

1218

readthedocs/vcs_support/backends/svn.py

+6-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,14 @@
11
import csv
2-
from StringIO import StringIO
2+
import sys
33

44
from readthedocs.projects.exceptions import ProjectImportError
55
from readthedocs.vcs_support.base import BaseVCS, VCSVersion
66

7+
if sys.version_info > (3,):
8+
from io import StringIO
9+
else:
10+
from StringIO import StringIO
11+
712

813
class Backend(BaseVCS):
914
supports_tags = False

0 commit comments

Comments
 (0)