From b47d6efe455302f9c8312a2d27d6685acd8e0d6a Mon Sep 17 00:00:00 2001 From: Manuel Cortez Date: Sun, 4 Mar 2018 12:29:25 -0600 Subject: [PATCH] Additions to make code more compatible for py2 and py3 --- src/controller/mainController.py | 1 + src/controller/player.py | 1 + src/extractors/baseFile.py | 1 + src/extractors/mailru.py | 8 ++++++-- src/extractors/vk.py | 1 + src/extractors/youtube.py | 1 + src/extractors/zaycev.py | 1 + src/main.py | 5 +++++ src/update/wxUpdater.py | 1 + src/wxUI/mainWindow.py | 21 +++++++++++++++++---- 10 files changed, 35 insertions(+), 6 deletions(-) diff --git a/src/controller/mainController.py b/src/controller/mainController.py index 1ee7529..dd7bd6b 100644 --- a/src/controller/mainController.py +++ b/src/controller/mainController.py @@ -1,5 +1,6 @@ # -*- coding: utf-8 -*- """ main controller for MusicDL""" +from __future__ import unicode_literals # at top of module import webbrowser import wx import logging diff --git a/src/controller/player.py b/src/controller/player.py index b087c6a..ebd9099 100644 --- a/src/controller/player.py +++ b/src/controller/player.py @@ -1,4 +1,5 @@ # -*- coding: utf-8 -*- +from __future__ import unicode_literals # at top of module import os import random import vlc diff --git a/src/extractors/baseFile.py b/src/extractors/baseFile.py index a8f5b1b..39c57ec 100644 --- a/src/extractors/baseFile.py +++ b/src/extractors/baseFile.py @@ -1,5 +1,6 @@ #!/usr/bin/env python # -*- coding: UTF-8 -*- +from __future__ import unicode_literals # at top of module class song(object): """ Represents a song in all services. Data will be filled by the service itself""" diff --git a/src/extractors/mailru.py b/src/extractors/mailru.py index 1b5e4d9..897e724 100644 --- a/src/extractors/mailru.py +++ b/src/extractors/mailru.py @@ -1,6 +1,10 @@ #!/usr/bin/env python # -*- coding: UTF-8 -*- -import urllib.parse +from __future__ import unicode_literals # at top of module +try: + import urllib.parse as urlparse +except ImportError: + import urllib as urlparse import requests import youtube_dl from bs4 import BeautifulSoup @@ -25,7 +29,7 @@ class interface(object): s.title = data[0].text.replace("\n", "").replace("\t", "") # s.artist = data[1].text.replace("\n", "").replace("\t", "") # print(data) - s.url = u"https://my.mail.ru"+urllib.parse.quote(data[0].__dict__["attrs"]["href"]) + s.url = u"https://my.mail.ru"+urlparse.quote(data[0].__dict__["attrs"]["href"]) self.results.append(s) def get_download_url(self, url): diff --git a/src/extractors/vk.py b/src/extractors/vk.py index a4cedbe..9c99da1 100644 --- a/src/extractors/vk.py +++ b/src/extractors/vk.py @@ -1,4 +1,5 @@ # -*- coding: utf-8 -*- +from __future__ import unicode_literals # at top of module import requests from .import baseFile from update.utils import seconds_to_string diff --git a/src/extractors/youtube.py b/src/extractors/youtube.py index 88eac88..4cb451b 100644 --- a/src/extractors/youtube.py +++ b/src/extractors/youtube.py @@ -1,4 +1,5 @@ # -*- coding: utf-8 -*- +from __future__ import unicode_literals # at top of module import isodate import youtube_dl from googleapiclient.discovery import build diff --git a/src/extractors/zaycev.py b/src/extractors/zaycev.py index 5dcef20..73765b1 100644 --- a/src/extractors/zaycev.py +++ b/src/extractors/zaycev.py @@ -1,5 +1,6 @@ #!/usr/bin/env python # -*- coding: UTF-8 -*- +from __future__ import unicode_literals # at top of module import re import json import requests diff --git a/src/main.py b/src/main.py index 82c7d49..70cf2e4 100644 --- a/src/main.py +++ b/src/main.py @@ -1,4 +1,9 @@ # -*- coding: utf-8 -*- +from __future__ import unicode_literals # at top of module +import sys +if sys.version[0] == "2": + import fixes + fixes.setup() import i18n i18n.setup() import widgetUtils diff --git a/src/update/wxUpdater.py b/src/update/wxUpdater.py index 4a3523b..0db0acd 100644 --- a/src/update/wxUpdater.py +++ b/src/update/wxUpdater.py @@ -1,4 +1,5 @@ # -*- coding: utf-8 -*- +from __future__ import unicode_literals # at top of module import wx import application from .import utils diff --git a/src/wxUI/mainWindow.py b/src/wxUI/mainWindow.py index b785aab..86174fb 100644 --- a/src/wxUI/mainWindow.py +++ b/src/wxUI/mainWindow.py @@ -1,6 +1,10 @@ # -*- coding: utf-8 -*- +from __future__ import unicode_literals # at top of module import wx -import wx.adv +try: + import wx.adv +except ImportError: + pass import application import widgetUtils @@ -77,7 +81,10 @@ class mainWindow(wx.Frame): self.sb.SetStatusText(status) def about_dialog(self, *args, **kwargs): - info = wx.adv.AboutDialogInfo() + try: + info = wx.adv.AboutDialogInfo() + except: + info = wx.AboutDialogInfo() info.SetName(application.name) info.SetVersion(application.version) info.SetDescription(application.description) @@ -86,7 +93,10 @@ class mainWindow(wx.Frame): info.SetTranslators(application.translators) # info.SetLicence(application.licence) info.AddDeveloper(application.author) - wx.adv.AboutBox(info) + try: + wx.adv.AboutBox(info) + except: + wx.AboutBox(info) def get_text(self): t = self.text.GetValue() @@ -103,5 +113,8 @@ class mainWindow(wx.Frame): saveFileDialog.Destroy() def notify(self, title, text): - self.notification = wx.adv.NotificationMessage(title, text, parent=self) + try: + self.notification = wx.adv.NotificationMessage(title, text, parent=self) + except AttributeError: + self.notification = wx.NotificationMessage(title, text, parent=self) self.notification.Show() \ No newline at end of file