From 31a6da7f018bff383cef5e349502300a381e0bdf Mon Sep 17 00:00:00 2001 From: Sergio Costas Date: Thu, 22 Aug 2024 00:14:24 +0200 Subject: [PATCH] Migrate to pyproject.toml --- README.md | 18 +- pyproject.toml | 49 +++++ setup.cfg | 3 - setup.py | 135 +------------ src/devedeng/__init__.py | 2 + src/devedeng/add_files.py | 1 - src/devedeng/ask_subtitles.py | 4 +- src/devedeng/avconv.py | 1 - src/devedeng/choose_disc_type.py | 1 - src/devedeng/configuration_data.py | 66 ++++--- .../devedeng/data}/base_ntsc.mpg | Bin .../devedeng/data}/base_ntsc_wide.mpg | Bin .../devedeng/data}/base_pal.mpg | Bin .../devedeng/data}/base_pal_wide.mpg | Bin {data => src/devedeng/data}/codepages.lst | 0 .../data}/com.rastersoft.devedeng.appdata.xml | 0 {data => src/devedeng/data}/devede.1 | 0 src/devedeng/data/devede.1.gz | Bin 0 -> 563 bytes .../devedeng/data/devede_ng.desktop | 4 +- {doc => src/devedeng/data/doc}/basic.html | 0 {doc => src/devedeng/data/doc}/contact.html | 0 {doc => src/devedeng/data/doc}/converting.png | Bin {doc => src/devedeng/data/doc}/create.png | Bin {doc => src/devedeng/data/doc}/devede.css | 0 .../devedeng/data/doc}/disc_type_window.png | Bin {doc => src/devedeng/data/doc}/disk.html | 0 {doc => src/devedeng/data/doc}/done.png | Bin {doc => src/devedeng/data/doc}/error.png | Bin {doc => src/devedeng/data/doc}/faq.html | 0 {doc => src/devedeng/data/doc}/file.html | 0 {doc => src/devedeng/data/doc}/gpl.html | 0 {doc => src/devedeng/data/doc}/index.html | 0 {doc => src/devedeng/data/doc}/main.html | 0 {doc => src/devedeng/data/doc}/main.png | Bin {doc => src/devedeng/data/doc}/menu.html | 0 {doc => src/devedeng/data/doc}/menu.png | Bin {doc => src/devedeng/data/doc}/movie1.png | Bin {doc => src/devedeng/data/doc}/movie1b.png | Bin {doc => src/devedeng/data/doc}/movie2.png | Bin {doc => src/devedeng/data/doc}/movie2b.png | Bin {doc => src/devedeng/data/doc}/movie3.png | Bin {doc => src/devedeng/data/doc}/movie4.png | Bin {doc => src/devedeng/data/doc}/movie5.png | Bin {doc => src/devedeng/data/doc}/movie6.png | Bin {doc => src/devedeng/data/doc}/movie7.png | Bin .../devedeng/data/doc}/preferences.html | 0 .../devedeng/data/doc}/preferences.png | Bin {doc => src/devedeng/data/doc}/select.html | 0 .../devedeng/data/interface}/devedeng.svg | 0 .../data/interface}/devedeng_icon.svg | 0 .../devedeng/data/interface}/icon_cvd.png | Bin .../devedeng/data/interface}/icon_divx.png | Bin .../devedeng/data/interface}/icon_dvd.png | Bin .../devedeng/data/interface}/icon_hevc.png | Bin .../devedeng/data/interface}/icon_mkv.png | Bin .../devedeng/data/interface}/icon_svcd.png | Bin .../devedeng/data/interface}/icon_vcd.png | Bin .../devedeng/data}/interface/wabout.ui | 2 +- .../devedeng/data}/interface/wadd_files.ui | 2 +- {data => src/devedeng/data}/interface/wask.ui | 2 +- .../data}/interface/wask_subtitles.ui | 2 +- .../devedeng/data}/interface/wcreate.ui | 2 +- .../devedeng/data}/interface/wdone.ui | 2 +- .../devedeng/data}/interface/werror.ui | 2 +- .../data}/interface/wfile_properties.ui | 2 +- .../devedeng/data}/interface/wmain.ui | 2 +- .../devedeng/data}/interface/wmenu.ui | 2 +- .../devedeng/data}/interface/wmessage.ui | 2 +- .../devedeng/data}/interface/wneeded.ui | 2 +- .../devedeng/data}/interface/wopen_project.ui | 2 +- .../devedeng/data}/interface/wpreview.ui | 2 +- .../devedeng/data}/interface/wprogress.ui | 2 +- .../devedeng/data}/interface/wsave_project.ui | 2 +- .../devedeng/data}/interface/wselect_disk.ui | 2 +- .../devedeng/data}/interface/wsettings.ui | 2 +- .../data}/interface/wtitle_properties.ui | 2 +- {data => src/devedeng/data}/languages.lst | 0 .../devedeng/data}/pixmaps/background.png | Bin .../data}/pixmaps/backgrounds/biglens.png | Bin .../data}/pixmaps/backgrounds/blackbg.png | Bin .../data}/pixmaps/backgrounds/default_bg.png | Bin .../data}/pixmaps/backgrounds/dvdfilm.png | Bin .../devedeng/data}/pixmaps/devedeng.png | Bin .../devedeng/data}/pixmaps/silence.ogg | Bin .../data}/pixmaps/to_classic_blackbars.png | Bin .../devedeng/data}/pixmaps/to_classic_cut.png | Bin .../data}/pixmaps/to_classic_scale.png | Bin .../data}/pixmaps/to_wide_blackbars.png | Bin .../devedeng/data}/pixmaps/to_wide_cut.png | Bin .../devedeng/data}/pixmaps/to_wide_scale.png | Bin src/{devede_ng.py => devedeng/devedeng.py} | 18 +- src/devedeng/file_copy.py | 31 +-- src/devedeng/help.py | 2 +- src/devedeng/project.py | 1 - src/devedeng/settings.py | 1 - src/devedeng/subtitles_mux.py | 1 - src/unitests/test_avconv.py | 179 ------------------ stdeb.cfg | 2 +- 98 files changed, 155 insertions(+), 402 deletions(-) create mode 100644 pyproject.toml delete mode 100644 setup.cfg rename {data/pixmaps => src/devedeng/data}/base_ntsc.mpg (100%) rename {data/pixmaps => src/devedeng/data}/base_ntsc_wide.mpg (100%) rename {data/pixmaps => src/devedeng/data}/base_pal.mpg (100%) rename {data/pixmaps => src/devedeng/data}/base_pal_wide.mpg (100%) rename {data => src/devedeng/data}/codepages.lst (100%) rename {data => src/devedeng/data}/com.rastersoft.devedeng.appdata.xml (100%) rename {data => src/devedeng/data}/devede.1 (100%) create mode 100644 src/devedeng/data/devede.1.gz rename data/devede_ng.py.desktop => src/devedeng/data/devede_ng.desktop (96%) rename {doc => src/devedeng/data/doc}/basic.html (100%) rename {doc => src/devedeng/data/doc}/contact.html (100%) rename {doc => src/devedeng/data/doc}/converting.png (100%) rename {doc => src/devedeng/data/doc}/create.png (100%) rename {doc => src/devedeng/data/doc}/devede.css (100%) rename {doc => src/devedeng/data/doc}/disc_type_window.png (100%) rename {doc => src/devedeng/data/doc}/disk.html (100%) rename {doc => src/devedeng/data/doc}/done.png (100%) rename {doc => src/devedeng/data/doc}/error.png (100%) rename {doc => src/devedeng/data/doc}/faq.html (100%) rename {doc => src/devedeng/data/doc}/file.html (100%) rename {doc => src/devedeng/data/doc}/gpl.html (100%) rename {doc => src/devedeng/data/doc}/index.html (100%) rename {doc => src/devedeng/data/doc}/main.html (100%) rename {doc => src/devedeng/data/doc}/main.png (100%) rename {doc => src/devedeng/data/doc}/menu.html (100%) rename {doc => src/devedeng/data/doc}/menu.png (100%) rename {doc => src/devedeng/data/doc}/movie1.png (100%) rename {doc => src/devedeng/data/doc}/movie1b.png (100%) rename {doc => src/devedeng/data/doc}/movie2.png (100%) rename {doc => src/devedeng/data/doc}/movie2b.png (100%) rename {doc => src/devedeng/data/doc}/movie3.png (100%) rename {doc => src/devedeng/data/doc}/movie4.png (100%) rename {doc => src/devedeng/data/doc}/movie5.png (100%) rename {doc => src/devedeng/data/doc}/movie6.png (100%) rename {doc => src/devedeng/data/doc}/movie7.png (100%) rename {doc => src/devedeng/data/doc}/preferences.html (100%) rename {doc => src/devedeng/data/doc}/preferences.png (100%) rename {doc => src/devedeng/data/doc}/select.html (100%) rename {data => src/devedeng/data/interface}/devedeng.svg (100%) rename {data => src/devedeng/data/interface}/devedeng_icon.svg (100%) rename {data/pixmaps => src/devedeng/data/interface}/icon_cvd.png (100%) rename {data/pixmaps => src/devedeng/data/interface}/icon_divx.png (100%) rename {data/pixmaps => src/devedeng/data/interface}/icon_dvd.png (100%) rename {data/pixmaps => src/devedeng/data/interface}/icon_hevc.png (100%) rename {data/pixmaps => src/devedeng/data/interface}/icon_mkv.png (100%) rename {data/pixmaps => src/devedeng/data/interface}/icon_svcd.png (100%) rename {data/pixmaps => src/devedeng/data/interface}/icon_vcd.png (100%) rename {data => src/devedeng/data}/interface/wabout.ui (98%) rename {data => src/devedeng/data}/interface/wadd_files.ui (99%) rename {data => src/devedeng/data}/interface/wask.ui (99%) rename {data => src/devedeng/data}/interface/wask_subtitles.ui (99%) rename {data => src/devedeng/data}/interface/wcreate.ui (99%) rename {data => src/devedeng/data}/interface/wdone.ui (99%) rename {data => src/devedeng/data}/interface/werror.ui (99%) rename {data => src/devedeng/data}/interface/wfile_properties.ui (99%) rename {data => src/devedeng/data}/interface/wmain.ui (99%) rename {data => src/devedeng/data}/interface/wmenu.ui (99%) rename {data => src/devedeng/data}/interface/wmessage.ui (99%) rename {data => src/devedeng/data}/interface/wneeded.ui (99%) rename {data => src/devedeng/data}/interface/wopen_project.ui (98%) rename {data => src/devedeng/data}/interface/wpreview.ui (99%) rename {data => src/devedeng/data}/interface/wprogress.ui (99%) rename {data => src/devedeng/data}/interface/wsave_project.ui (98%) rename {data => src/devedeng/data}/interface/wselect_disk.ui (99%) rename {data => src/devedeng/data}/interface/wsettings.ui (99%) rename {data => src/devedeng/data}/interface/wtitle_properties.ui (99%) rename {data => src/devedeng/data}/languages.lst (100%) rename {data => src/devedeng/data}/pixmaps/background.png (100%) rename {data => src/devedeng/data}/pixmaps/backgrounds/biglens.png (100%) rename {data => src/devedeng/data}/pixmaps/backgrounds/blackbg.png (100%) rename {data => src/devedeng/data}/pixmaps/backgrounds/default_bg.png (100%) rename {data => src/devedeng/data}/pixmaps/backgrounds/dvdfilm.png (100%) rename {data => src/devedeng/data}/pixmaps/devedeng.png (100%) rename {data => src/devedeng/data}/pixmaps/silence.ogg (100%) rename {data => src/devedeng/data}/pixmaps/to_classic_blackbars.png (100%) rename {data => src/devedeng/data}/pixmaps/to_classic_cut.png (100%) rename {data => src/devedeng/data}/pixmaps/to_classic_scale.png (100%) rename {data => src/devedeng/data}/pixmaps/to_wide_blackbars.png (100%) rename {data => src/devedeng/data}/pixmaps/to_wide_cut.png (100%) rename {data => src/devedeng/data}/pixmaps/to_wide_scale.png (100%) rename src/{devede_ng.py => devedeng/devedeng.py} (84%) mode change 100755 => 100644 delete mode 100755 src/unitests/test_avconv.py diff --git a/README.md b/README.md index b44f543..00e4d44 100644 --- a/README.md +++ b/README.md @@ -6,11 +6,23 @@ Devede NG is a rewrite of the Devede DVD disc authoring program. This new code has been written from scratch, and uses Python3 and Gtk3. It is also cleaner, which will allow to add new features in the future. -## INSTALLING DEVEDE NG ## +## INSTALLING DEVEDE NG FROM SOURCES ## -Just type: +First, be sure that you have uninstalling any package with devede. Then, Just type: - sudo ./setup.py install + sudo python3 -m pip uninstall -y devedeng + sudo python3 -m pip install . + sudo update-icon-caches /usr/share/icons/hicolor + +If you receive a notification 'error: externally-managed-environment', you can override +it by using + + sudo python3 -m pip uninstall --break-system-packages -y devedeng + sudo python3 -m pip install --break-system-packages . + sudo update-icon-caches /usr/share/icons/hicolor + +Also, remember that you need the `setuptools` and `setuptools-gettext` modules +installed in your system. ## USING DEVEDE NG ## diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..aef49f5 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,49 @@ +[build-system] +requires = ["setuptools>=61.0", "setuptools-gettext"] +build-backend = "setuptools.build_meta" + +[project] +name = "devedeng" +version = "4.19.0" +authors = [ + { name="Raster Software Vigo (Sergio Costas)", email="rastersoft@gmail.com" }, +] +description = "A video DVD creator" +readme = "README.md" +requires-python = ">=3.12" +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Environment :: X11 Applications :: GTK", + "Intended Audience :: End Users/Desktop", + "Topic :: Multimedia :: Video :: Conversion", + "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", + "Operating System :: POSIX :: Linux", + "Programming Language :: Python :: 3", + "Topic :: Multimedia :: Video :: Conversion", +] +license = {text = "GPLv3"} + +keywords = ["dvd", "video"] + +[tool.setuptools.package-data] +"devedeng.data.interface" = ["*.ui", "*.png", "*.svg"] +"devedeng.data.pixmaps" = ["*.png", "*.mpg", "*.ogg"] +"devedeng.data.pixmaps.backgrounds" = ["*.png"] +"devedeng.data.locale" = ["**/*.mo"] +"devedeng.data.doc" = ["*.html", "*.css", "*.png"] +"devedeng.data" = ["*.mpg", "*.lst"] + +[tool.setuptools.data-files] +"share/applications" = ["src/devedeng/data/devede_ng.desktop"] +"share/icons/hicolor/scalable/apps" = ["src/devedeng/data/interface/devedeng_icon.svg"] + +[tool.setuptools-gettext] +source_dir = "po" +build_dir = "src/devedeng/data/locale" + +[project.scripts] +devede_ng = "devedeng:devedeng.py" + +[project.urls] +Homepage = "https://www.rastersoft.com/programas/devede.html" +Issues = "https://gitlab.com/rastersoft/devedeng" \ No newline at end of file diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index 919fde2..0000000 --- a/setup.cfg +++ /dev/null @@ -1,3 +0,0 @@ -[bdist_rpm] -release: 1 -Requires: gettext python3 python3-urllib3 python3-gobject gtk3 dvdauthor vcdimager python3-setuptools python3-cairo diff --git a/setup.py b/setup.py index 45739de..5bce6c2 100755 --- a/setup.py +++ b/setup.py @@ -1,136 +1,5 @@ #!/usr/bin/env python3 -import os -import sys -from glob import glob -from distutils.core import setup +import setuptools -try: - from distutils import dep_util -except: - pass - - -def get_data_files(): - data_files = [ - (os.path.join('share', 'applications'), ['data/devede_ng.py.desktop']), - (os.path.join('share', 'metainfo'), ['data/com.rastersoft.devedeng.appdata.xml']), - (os.path.join('share', 'pixmaps'), ['data/devedeng.svg']), - (os.path.join('share', 'icons', 'hicolor', - 'scalable', 'apps'), ['data/devedeng_icon.svg']), - (os.path.join('share', 'devedeng'), glob("data/interface/*")), - (os.path.join('share', 'devedeng'), glob('data/pixmaps/*g')), - (os.path.join('share', 'devedeng'), ['data/devedeng.svg']), - (os.path.join('share', 'devedeng'), ['data/devedeng_icon.svg']), - (os.path.join('share', 'devedeng'), ['data/codepages.lst']), - (os.path.join('share', 'devedeng'), ['data/languages.lst']), - (os.path.join('share', 'devedeng', 'backgrounds'), - glob('data/pixmaps/backgrounds/*')), - (os.path.join('share', 'doc', 'devedeng', 'html'), glob('doc/*')), - (os.path.join('share', 'man', 'man1'), ['data/devede.1.gz']) - ] - - for lang_name in [f for f in os.listdir('locale')]: - mofile = os.path.join('locale', lang_name, - 'LC_MESSAGES', 'devedeng.mo') - # translations must be always in /usr/share because Gtk.builder only - # search there. If someone knows how to fix this... - # share/locale/fr/LC_MESSAGES/ - target = os.path.join('/usr', 'share', 'locale', - lang_name, 'LC_MESSAGES') - data_files.append((target, [mofile])) - - return data_files - - -def compile_translations(): - - if (os.system("msgfmt -V > /dev/null") != 0): - print('You need the binary "msgfmt" (from "gettext") to compile the translations. Aborting') - sys.exit(-1) - - try: - for pofile in [f for f in os.listdir('po') if f.endswith('.po')]: - pofile = os.path.join('po', pofile) - - lang = os.path.basename(pofile)[:-3] # len('.po') == 3 - # e.g. locale/fr/LC_MESSAGES/ - modir = os.path.join('locale', lang, 'LC_MESSAGES') - # e.g. locale/fr/LC_MESSAGES/devedeng.mo - mofile = os.path.join(modir, 'devedeng.mo') - - # create an architecture for these locales - if not os.path.isdir(modir): - os.makedirs(modir) - - if not os.path.isfile(mofile) or dep_util.newer(pofile, mofile): - # msgfmt.make(pofile, mofile) - os.system("msgfmt \"" + pofile + "\" -o \"" + mofile + "\"") - except: - pass - -try: - compile_translations() -except: - print("Failed to generate the translations") - -try: - if os.path.isfile('data/devede.1'): - os.system("gzip -c data/devede.1 > data/devede.1.gz") -except: - pass - -#here = os.path.abspath(os.path.dirname(__file__)) - -setup( - name='devedeng', - - version='4.19.0', - - description='A video DVD creator', - long_description="A program that allows to create video DVDs", - - url='http://www.rastersoft.com', - - author='Raster Software Vigo (Sergio Costas)', - author_email='raster@rastersoft.com', - - license='GPLv3', - - # See https://pypi.python.org/pypi?%3Aaction=list_classifiers - classifiers=[ - # How mature is this project? Common values are - # 1 - Planning - # 2 - Pre-Alpha - # 3 - Alpha - # 4 - Beta - # 5 - Production/Stable - 'Development Status :: 5 - Production/Stable', - 'Environment :: X11 Applications :: GTK', - 'Intended Audience :: End Users/Desktop', - 'Topic :: Multimedia :: Video :: Conversion', - 'License :: OSI Approved :: GNU General Public License v3 (GPLv3)', - 'Operating System :: POSIX :: Linux', - 'Programming Language :: Python :: 3', - 'Topic :: Multimedia :: Video :: Conversion' - ], - - keywords='dvd video', - - packages=['devedeng'], - - package_dir={"devedeng": "src/devedeng"}, - - #package_data={'devede': ['data/*.ui']}, - - # Although 'package_data' is the preferred approach, in some case you may - # need to place data files outside of your packages. - # see http://docs.python.org/3.4/distutils/setupscript.html#installing-additional-files - # In this case, 'data_file' will be installed into '/my_data' - #data_files=[('share/devedeng/ui', ['ui/test.ui'])], - data_files=get_data_files(), - scripts=['src/devede_ng.py', 'src/copy_files_verbose.py'], -) - -if (len(sys.argv) == 2) and (sys.argv[1] == "install"): - os.system("gtk-update-icon-cache") +setuptools.setup() diff --git a/src/devedeng/__init__.py b/src/devedeng/__init__.py index bc4a667..c0faa40 100644 --- a/src/devedeng/__init__.py +++ b/src/devedeng/__init__.py @@ -15,3 +15,5 @@ # # You should have received a copy of the GNU General Public License # along with this program. If not, see . + +import devedeng.devedeng as devedeng \ No newline at end of file diff --git a/src/devedeng/add_files.py b/src/devedeng/add_files.py index 6e5a9ae..8616741 100644 --- a/src/devedeng/add_files.py +++ b/src/devedeng/add_files.py @@ -18,7 +18,6 @@ from gi.repository import Gtk import os import devedeng.configuration_data - class add_files: last_path = None diff --git a/src/devedeng/ask_subtitles.py b/src/devedeng/ask_subtitles.py index 08ee8e3..0f3185f 100644 --- a/src/devedeng/ask_subtitles.py +++ b/src/devedeng/ask_subtitles.py @@ -19,7 +19,6 @@ import os import devedeng.configuration_data import devedeng.add_files - class ask_subtitles: def __init__(self): @@ -31,8 +30,7 @@ class ask_subtitles: builder = Gtk.Builder() builder.set_translation_domain(self.config.gettext_domain) - builder.add_from_file(os.path.join( - self.config.glade, "wask_subtitles.ui")) + builder.add_from_file(os.path.join(self.config.glade, "wask_subtitles.ui")) builder.connect_signals(self) wask_window = builder.get_object("ask_subtitles") self.wfilename = builder.get_object("subtitle_file") diff --git a/src/devedeng/avconv.py b/src/devedeng/avconv.py index 14183c2..43ba456 100644 --- a/src/devedeng/avconv.py +++ b/src/devedeng/avconv.py @@ -23,7 +23,6 @@ import devedeng.avbase import devedeng.mux_dvd_menu import devedeng.project - class avconv(devedeng.avbase.avbase): supports_analize = False diff --git a/src/devedeng/choose_disc_type.py b/src/devedeng/choose_disc_type.py index 9d5fae0..72ffbed 100644 --- a/src/devedeng/choose_disc_type.py +++ b/src/devedeng/choose_disc_type.py @@ -20,7 +20,6 @@ import subprocess import devedeng.configuration_data - class choose_disc_type(GObject.GObject): def __init__(self): diff --git a/src/devedeng/configuration_data.py b/src/devedeng/configuration_data.py index d57646c..d5a14a7 100644 --- a/src/devedeng/configuration_data.py +++ b/src/devedeng/configuration_data.py @@ -56,43 +56,47 @@ class configuration(GObject.GObject): if platform.system() == 'FreeBSD': self.cores = int(os.popen("sysctl -n kern.smp.cores").read().split('\n')[0]) - is_local = None self.log = "" self.static_log = "" self.disc_type = None - try: - os.stat("/usr/share/devedeng/wselect_disk.ui") - is_local = False - except: - pass + # try: + # os.stat("/usr/share/devedeng/wselect_disk.ui") + # is_local = False + # except: + # pass - if is_local is None: - try: - os.stat("/usr/local/share/devedeng/wselect_disk.ui") - is_local = True - except: - pass + # if is_local is None: + # try: + # os.stat("/usr/local/share/devedeng/wselect_disk.ui") + # is_local = True + # except: + # pass - if is_local is None: - return True - else: - if (is_local): - # locales must be always at /usr/share/locale because - # Gtk.Builder always search there - self.share_locale = "/usr/share/locale" - self.glade = "/usr/local/share/devedeng" - self.font_path = "/usr/local/share/devedeng" - self.pic_path = "/usr/local/share/devedeng" - self.other_path = "/usr/local/share/devedeng" - self.help_path = "/usr/local/share/doc/devedeng" - else: - self.share_locale = "/usr/share/locale" - self.glade = "/usr/share/devedeng" - self.font_path = "/usr/share/devedeng" - self.pic_path = "/usr/share/devedeng" - self.other_path = "/usr/share/devedeng" - self.help_path = "/usr/share/doc/devedeng" + # if is_local is None: + # return True + # else: + # if (is_local): + # # locales must be always at /usr/share/locale because + # # Gtk.Builder always search there + # self.share_locale = "/usr/share/locale" + # self.glade = "/usr/local/share/devedeng" + # self.pic_path = "/usr/local/share/devedeng" + # self.other_path = "/usr/local/share/devedeng" + # self.help_path = "/usr/local/share/doc/devedeng" + # else: + # self.share_locale = "/usr/share/locale" + # self.glade = "/usr/share/devedeng" + # self.pic_path = "/usr/share/devedeng" + # self.other_path = "/usr/share/devedeng" + # self.help_path = "/usr/share/doc/devedeng" + + data_dir = os.path.join(os.path.dirname(__file__), 'data') + self.share_locale = os.path.join(data_dir, "locale") + self.glade = os.path.join(data_dir, "interface") + self.pic_path = os.path.join(data_dir, "pixmaps") + self.other_path = data_dir + self.help_path = os.path.join(data_dir, "doc") self.gettext_domain = "devedeng" diff --git a/data/pixmaps/base_ntsc.mpg b/src/devedeng/data/base_ntsc.mpg similarity index 100% rename from data/pixmaps/base_ntsc.mpg rename to src/devedeng/data/base_ntsc.mpg diff --git a/data/pixmaps/base_ntsc_wide.mpg b/src/devedeng/data/base_ntsc_wide.mpg similarity index 100% rename from data/pixmaps/base_ntsc_wide.mpg rename to src/devedeng/data/base_ntsc_wide.mpg diff --git a/data/pixmaps/base_pal.mpg b/src/devedeng/data/base_pal.mpg similarity index 100% rename from data/pixmaps/base_pal.mpg rename to src/devedeng/data/base_pal.mpg diff --git a/data/pixmaps/base_pal_wide.mpg b/src/devedeng/data/base_pal_wide.mpg similarity index 100% rename from data/pixmaps/base_pal_wide.mpg rename to src/devedeng/data/base_pal_wide.mpg diff --git a/data/codepages.lst b/src/devedeng/data/codepages.lst similarity index 100% rename from data/codepages.lst rename to src/devedeng/data/codepages.lst diff --git a/data/com.rastersoft.devedeng.appdata.xml b/src/devedeng/data/com.rastersoft.devedeng.appdata.xml similarity index 100% rename from data/com.rastersoft.devedeng.appdata.xml rename to src/devedeng/data/com.rastersoft.devedeng.appdata.xml diff --git a/data/devede.1 b/src/devedeng/data/devede.1 similarity index 100% rename from data/devede.1 rename to src/devedeng/data/devede.1 diff --git a/src/devedeng/data/devede.1.gz b/src/devedeng/data/devede.1.gz new file mode 100644 index 0000000000000000000000000000000000000000..64b48d68cc8d70740befc8d966e83cb5b1c71c16 GIT binary patch literal 563 zcmV-30?hp%iwFp#%Vb&r17u}(Wn^V8F#v5-U2EGg6n*!vxcFggED>2@u(2}gHr*0N zlMuUM1HZ_&RI8IEPag^X_q&o4T91K2_Ps|(=bj^z^-m~-lMK>^9a+QRLz<9c1(z>K zuNI5X^Tnt6)yEXl@Fb*6;hQ#~jOKg>&Km{z2G8C)!9`7-(24+L@R zfN;>!-^@lf#DUWqD{6pFSQk1V6gXD53K=Cdy7nDY&XR-(4hjfuKqf@B3CUNGZnB5_ zG%4Sd{C3n{@;#Ju$iRxO#{p^I%d<8-3u?otV{i}+)37`&?MRdV+H80EI>#x|niZoB zGn4A=*_si)ywC6U>s_(lZl*gXji_qL4s01!Q7QGwg15}r|4NyG^}^8#Rde*Y)g6Og z(gE=^C=+gU2f-=jy9y7}9FB1>7m^_YeG6SIyEZa()LEqLdu<$Rpc>#|q(d)vyJYQ9 zlGU$uy^>{p<-!fINZJ6-9@qs^A`=GU?MU*^j4icLF~pvXa1K`#wHsWkRiyb|{CFQ< zD0ksB)LAA%VenF(BWkCS2|WKug&bW84g^H@g0N8y8FR@Vi`8~NjpS0B=scm$i$wG# zXXZ(0xYMY_!nL6m<=u>n)!dO}$&@GEJg<(%pP`Li% zX=8*%%#E+Saz65eDD^n}W2^>}XI49S8?5Q@r>IznBa&*w8T*bTe*xyK;XAYg005eR B5i0-y literal 0 HcmV?d00001 diff --git a/data/devede_ng.py.desktop b/src/devedeng/data/devede_ng.desktop similarity index 96% rename from data/devede_ng.py.desktop rename to src/devedeng/data/devede_ng.desktop index 0ee037d..3a43a29 100644 --- a/data/devede_ng.py.desktop +++ b/src/devedeng/data/devede_ng.desktop @@ -16,6 +16,6 @@ Comment[gl]=Permite crear video CDs e DVDs, que poden reproducirse en reproducto Comment[pl]=Pozwala stworzyć wideo na płytach CD lub DVD, do otwarzania w domowych odtwarzaczach DVD Comment[it]=Permette di creare video CD e DVD che possono essere riprodotti con lettori DVD Icon=devedeng_icon.svg -TryExec=devede_ng.py -Exec=devede_ng.py +TryExec=devede_ng +Exec=devede_ng Categories=AudioVideo; diff --git a/doc/basic.html b/src/devedeng/data/doc/basic.html similarity index 100% rename from doc/basic.html rename to src/devedeng/data/doc/basic.html diff --git a/doc/contact.html b/src/devedeng/data/doc/contact.html similarity index 100% rename from doc/contact.html rename to src/devedeng/data/doc/contact.html diff --git a/doc/converting.png b/src/devedeng/data/doc/converting.png similarity index 100% rename from doc/converting.png rename to src/devedeng/data/doc/converting.png diff --git a/doc/create.png b/src/devedeng/data/doc/create.png similarity index 100% rename from doc/create.png rename to src/devedeng/data/doc/create.png diff --git a/doc/devede.css b/src/devedeng/data/doc/devede.css similarity index 100% rename from doc/devede.css rename to src/devedeng/data/doc/devede.css diff --git a/doc/disc_type_window.png b/src/devedeng/data/doc/disc_type_window.png similarity index 100% rename from doc/disc_type_window.png rename to src/devedeng/data/doc/disc_type_window.png diff --git a/doc/disk.html b/src/devedeng/data/doc/disk.html similarity index 100% rename from doc/disk.html rename to src/devedeng/data/doc/disk.html diff --git a/doc/done.png b/src/devedeng/data/doc/done.png similarity index 100% rename from doc/done.png rename to src/devedeng/data/doc/done.png diff --git a/doc/error.png b/src/devedeng/data/doc/error.png similarity index 100% rename from doc/error.png rename to src/devedeng/data/doc/error.png diff --git a/doc/faq.html b/src/devedeng/data/doc/faq.html similarity index 100% rename from doc/faq.html rename to src/devedeng/data/doc/faq.html diff --git a/doc/file.html b/src/devedeng/data/doc/file.html similarity index 100% rename from doc/file.html rename to src/devedeng/data/doc/file.html diff --git a/doc/gpl.html b/src/devedeng/data/doc/gpl.html similarity index 100% rename from doc/gpl.html rename to src/devedeng/data/doc/gpl.html diff --git a/doc/index.html b/src/devedeng/data/doc/index.html similarity index 100% rename from doc/index.html rename to src/devedeng/data/doc/index.html diff --git a/doc/main.html b/src/devedeng/data/doc/main.html similarity index 100% rename from doc/main.html rename to src/devedeng/data/doc/main.html diff --git a/doc/main.png b/src/devedeng/data/doc/main.png similarity index 100% rename from doc/main.png rename to src/devedeng/data/doc/main.png diff --git a/doc/menu.html b/src/devedeng/data/doc/menu.html similarity index 100% rename from doc/menu.html rename to src/devedeng/data/doc/menu.html diff --git a/doc/menu.png b/src/devedeng/data/doc/menu.png similarity index 100% rename from doc/menu.png rename to src/devedeng/data/doc/menu.png diff --git a/doc/movie1.png b/src/devedeng/data/doc/movie1.png similarity index 100% rename from doc/movie1.png rename to src/devedeng/data/doc/movie1.png diff --git a/doc/movie1b.png b/src/devedeng/data/doc/movie1b.png similarity index 100% rename from doc/movie1b.png rename to src/devedeng/data/doc/movie1b.png diff --git a/doc/movie2.png b/src/devedeng/data/doc/movie2.png similarity index 100% rename from doc/movie2.png rename to src/devedeng/data/doc/movie2.png diff --git a/doc/movie2b.png b/src/devedeng/data/doc/movie2b.png similarity index 100% rename from doc/movie2b.png rename to src/devedeng/data/doc/movie2b.png diff --git a/doc/movie3.png b/src/devedeng/data/doc/movie3.png similarity index 100% rename from doc/movie3.png rename to src/devedeng/data/doc/movie3.png diff --git a/doc/movie4.png b/src/devedeng/data/doc/movie4.png similarity index 100% rename from doc/movie4.png rename to src/devedeng/data/doc/movie4.png diff --git a/doc/movie5.png b/src/devedeng/data/doc/movie5.png similarity index 100% rename from doc/movie5.png rename to src/devedeng/data/doc/movie5.png diff --git a/doc/movie6.png b/src/devedeng/data/doc/movie6.png similarity index 100% rename from doc/movie6.png rename to src/devedeng/data/doc/movie6.png diff --git a/doc/movie7.png b/src/devedeng/data/doc/movie7.png similarity index 100% rename from doc/movie7.png rename to src/devedeng/data/doc/movie7.png diff --git a/doc/preferences.html b/src/devedeng/data/doc/preferences.html similarity index 100% rename from doc/preferences.html rename to src/devedeng/data/doc/preferences.html diff --git a/doc/preferences.png b/src/devedeng/data/doc/preferences.png similarity index 100% rename from doc/preferences.png rename to src/devedeng/data/doc/preferences.png diff --git a/doc/select.html b/src/devedeng/data/doc/select.html similarity index 100% rename from doc/select.html rename to src/devedeng/data/doc/select.html diff --git a/data/devedeng.svg b/src/devedeng/data/interface/devedeng.svg similarity index 100% rename from data/devedeng.svg rename to src/devedeng/data/interface/devedeng.svg diff --git a/data/devedeng_icon.svg b/src/devedeng/data/interface/devedeng_icon.svg similarity index 100% rename from data/devedeng_icon.svg rename to src/devedeng/data/interface/devedeng_icon.svg diff --git a/data/pixmaps/icon_cvd.png b/src/devedeng/data/interface/icon_cvd.png similarity index 100% rename from data/pixmaps/icon_cvd.png rename to src/devedeng/data/interface/icon_cvd.png diff --git a/data/pixmaps/icon_divx.png b/src/devedeng/data/interface/icon_divx.png similarity index 100% rename from data/pixmaps/icon_divx.png rename to src/devedeng/data/interface/icon_divx.png diff --git a/data/pixmaps/icon_dvd.png b/src/devedeng/data/interface/icon_dvd.png similarity index 100% rename from data/pixmaps/icon_dvd.png rename to src/devedeng/data/interface/icon_dvd.png diff --git a/data/pixmaps/icon_hevc.png b/src/devedeng/data/interface/icon_hevc.png similarity index 100% rename from data/pixmaps/icon_hevc.png rename to src/devedeng/data/interface/icon_hevc.png diff --git a/data/pixmaps/icon_mkv.png b/src/devedeng/data/interface/icon_mkv.png similarity index 100% rename from data/pixmaps/icon_mkv.png rename to src/devedeng/data/interface/icon_mkv.png diff --git a/data/pixmaps/icon_svcd.png b/src/devedeng/data/interface/icon_svcd.png similarity index 100% rename from data/pixmaps/icon_svcd.png rename to src/devedeng/data/interface/icon_svcd.png diff --git a/data/pixmaps/icon_vcd.png b/src/devedeng/data/interface/icon_vcd.png similarity index 100% rename from data/pixmaps/icon_vcd.png rename to src/devedeng/data/interface/icon_vcd.png diff --git a/data/interface/wabout.ui b/src/devedeng/data/interface/wabout.ui similarity index 98% rename from data/interface/wabout.ui rename to src/devedeng/data/interface/wabout.ui index 9f81889..b0ad952 100644 --- a/data/interface/wabout.ui +++ b/src/devedeng/data/interface/wabout.ui @@ -1,6 +1,6 @@ - + False diff --git a/data/interface/wadd_files.ui b/src/devedeng/data/interface/wadd_files.ui similarity index 99% rename from data/interface/wadd_files.ui rename to src/devedeng/data/interface/wadd_files.ui index 53b7f0f..4891f36 100644 --- a/data/interface/wadd_files.ui +++ b/src/devedeng/data/interface/wadd_files.ui @@ -1,6 +1,6 @@ - + 740 diff --git a/data/interface/wask.ui b/src/devedeng/data/interface/wask.ui similarity index 99% rename from data/interface/wask.ui rename to src/devedeng/data/interface/wask.ui index 6b11ea7..750f838 100644 --- a/data/interface/wask.ui +++ b/src/devedeng/data/interface/wask.ui @@ -1,6 +1,6 @@ - + 320 diff --git a/data/interface/wask_subtitles.ui b/src/devedeng/data/interface/wask_subtitles.ui similarity index 99% rename from data/interface/wask_subtitles.ui rename to src/devedeng/data/interface/wask_subtitles.ui index d4d8af1..f6d6780 100644 --- a/data/interface/wask_subtitles.ui +++ b/src/devedeng/data/interface/wask_subtitles.ui @@ -1,6 +1,6 @@ - + diff --git a/data/interface/wcreate.ui b/src/devedeng/data/interface/wcreate.ui similarity index 99% rename from data/interface/wcreate.ui rename to src/devedeng/data/interface/wcreate.ui index 73aaa2a..14b589b 100644 --- a/data/interface/wcreate.ui +++ b/src/devedeng/data/interface/wcreate.ui @@ -1,6 +1,6 @@ - + 380 diff --git a/data/interface/wdone.ui b/src/devedeng/data/interface/wdone.ui similarity index 99% rename from data/interface/wdone.ui rename to src/devedeng/data/interface/wdone.ui index b77480b..76158c9 100644 --- a/data/interface/wdone.ui +++ b/src/devedeng/data/interface/wdone.ui @@ -1,6 +1,6 @@ - + diff --git a/data/interface/werror.ui b/src/devedeng/data/interface/werror.ui similarity index 99% rename from data/interface/werror.ui rename to src/devedeng/data/interface/werror.ui index e1bdd70..c471a1f 100644 --- a/data/interface/werror.ui +++ b/src/devedeng/data/interface/werror.ui @@ -1,6 +1,6 @@ - + diff --git a/data/interface/wfile_properties.ui b/src/devedeng/data/interface/wfile_properties.ui similarity index 99% rename from data/interface/wfile_properties.ui rename to src/devedeng/data/interface/wfile_properties.ui index 1ebb7dd..7eda549 100644 --- a/data/interface/wfile_properties.ui +++ b/src/devedeng/data/interface/wfile_properties.ui @@ -1,6 +1,6 @@ - + -30 diff --git a/data/interface/wmain.ui b/src/devedeng/data/interface/wmain.ui similarity index 99% rename from data/interface/wmain.ui rename to src/devedeng/data/interface/wmain.ui index 548f660..89452e3 100644 --- a/data/interface/wmain.ui +++ b/src/devedeng/data/interface/wmain.ui @@ -1,6 +1,6 @@ - + diff --git a/data/interface/wmenu.ui b/src/devedeng/data/interface/wmenu.ui similarity index 99% rename from data/interface/wmenu.ui rename to src/devedeng/data/interface/wmenu.ui index 4b53e0f..a7d096a 100644 --- a/data/interface/wmenu.ui +++ b/src/devedeng/data/interface/wmenu.ui @@ -1,6 +1,6 @@ - + 100 diff --git a/data/interface/wmessage.ui b/src/devedeng/data/interface/wmessage.ui similarity index 99% rename from data/interface/wmessage.ui rename to src/devedeng/data/interface/wmessage.ui index 15b0db4..ec645a2 100644 --- a/data/interface/wmessage.ui +++ b/src/devedeng/data/interface/wmessage.ui @@ -1,6 +1,6 @@ - + diff --git a/data/interface/wneeded.ui b/src/devedeng/data/interface/wneeded.ui similarity index 99% rename from data/interface/wneeded.ui rename to src/devedeng/data/interface/wneeded.ui index 2c293fd..d76ccdc 100644 --- a/data/interface/wneeded.ui +++ b/src/devedeng/data/interface/wneeded.ui @@ -1,6 +1,6 @@ - + diff --git a/data/interface/wopen_project.ui b/src/devedeng/data/interface/wopen_project.ui similarity index 98% rename from data/interface/wopen_project.ui rename to src/devedeng/data/interface/wopen_project.ui index fcc99b1..09645e1 100644 --- a/data/interface/wopen_project.ui +++ b/src/devedeng/data/interface/wopen_project.ui @@ -1,6 +1,6 @@ - + 680 diff --git a/data/interface/wpreview.ui b/src/devedeng/data/interface/wpreview.ui similarity index 99% rename from data/interface/wpreview.ui rename to src/devedeng/data/interface/wpreview.ui index 8451764..2f5d5ef 100644 --- a/data/interface/wpreview.ui +++ b/src/devedeng/data/interface/wpreview.ui @@ -1,6 +1,6 @@ - + 10 diff --git a/data/interface/wprogress.ui b/src/devedeng/data/interface/wprogress.ui similarity index 99% rename from data/interface/wprogress.ui rename to src/devedeng/data/interface/wprogress.ui index 92e6f92..712d6f6 100644 --- a/data/interface/wprogress.ui +++ b/src/devedeng/data/interface/wprogress.ui @@ -1,6 +1,6 @@ - + 640 diff --git a/data/interface/wsave_project.ui b/src/devedeng/data/interface/wsave_project.ui similarity index 98% rename from data/interface/wsave_project.ui rename to src/devedeng/data/interface/wsave_project.ui index d2439ef..d9a29dd 100644 --- a/data/interface/wsave_project.ui +++ b/src/devedeng/data/interface/wsave_project.ui @@ -1,6 +1,6 @@ - + False diff --git a/data/interface/wselect_disk.ui b/src/devedeng/data/interface/wselect_disk.ui similarity index 99% rename from data/interface/wselect_disk.ui rename to src/devedeng/data/interface/wselect_disk.ui index dc66401..755fd94 100644 --- a/data/interface/wselect_disk.ui +++ b/src/devedeng/data/interface/wselect_disk.ui @@ -1,6 +1,6 @@ - + False diff --git a/data/interface/wsettings.ui b/src/devedeng/data/interface/wsettings.ui similarity index 99% rename from data/interface/wsettings.ui rename to src/devedeng/data/interface/wsettings.ui index e131252..4ba4ee2 100644 --- a/data/interface/wsettings.ui +++ b/src/devedeng/data/interface/wsettings.ui @@ -1,6 +1,6 @@ - + diff --git a/data/interface/wtitle_properties.ui b/src/devedeng/data/interface/wtitle_properties.ui similarity index 99% rename from data/interface/wtitle_properties.ui rename to src/devedeng/data/interface/wtitle_properties.ui index 041235f..81d914d 100644 --- a/data/interface/wtitle_properties.ui +++ b/src/devedeng/data/interface/wtitle_properties.ui @@ -1,6 +1,6 @@ - + 380 diff --git a/data/languages.lst b/src/devedeng/data/languages.lst similarity index 100% rename from data/languages.lst rename to src/devedeng/data/languages.lst diff --git a/data/pixmaps/background.png b/src/devedeng/data/pixmaps/background.png similarity index 100% rename from data/pixmaps/background.png rename to src/devedeng/data/pixmaps/background.png diff --git a/data/pixmaps/backgrounds/biglens.png b/src/devedeng/data/pixmaps/backgrounds/biglens.png similarity index 100% rename from data/pixmaps/backgrounds/biglens.png rename to src/devedeng/data/pixmaps/backgrounds/biglens.png diff --git a/data/pixmaps/backgrounds/blackbg.png b/src/devedeng/data/pixmaps/backgrounds/blackbg.png similarity index 100% rename from data/pixmaps/backgrounds/blackbg.png rename to src/devedeng/data/pixmaps/backgrounds/blackbg.png diff --git a/data/pixmaps/backgrounds/default_bg.png b/src/devedeng/data/pixmaps/backgrounds/default_bg.png similarity index 100% rename from data/pixmaps/backgrounds/default_bg.png rename to src/devedeng/data/pixmaps/backgrounds/default_bg.png diff --git a/data/pixmaps/backgrounds/dvdfilm.png b/src/devedeng/data/pixmaps/backgrounds/dvdfilm.png similarity index 100% rename from data/pixmaps/backgrounds/dvdfilm.png rename to src/devedeng/data/pixmaps/backgrounds/dvdfilm.png diff --git a/data/pixmaps/devedeng.png b/src/devedeng/data/pixmaps/devedeng.png similarity index 100% rename from data/pixmaps/devedeng.png rename to src/devedeng/data/pixmaps/devedeng.png diff --git a/data/pixmaps/silence.ogg b/src/devedeng/data/pixmaps/silence.ogg similarity index 100% rename from data/pixmaps/silence.ogg rename to src/devedeng/data/pixmaps/silence.ogg diff --git a/data/pixmaps/to_classic_blackbars.png b/src/devedeng/data/pixmaps/to_classic_blackbars.png similarity index 100% rename from data/pixmaps/to_classic_blackbars.png rename to src/devedeng/data/pixmaps/to_classic_blackbars.png diff --git a/data/pixmaps/to_classic_cut.png b/src/devedeng/data/pixmaps/to_classic_cut.png similarity index 100% rename from data/pixmaps/to_classic_cut.png rename to src/devedeng/data/pixmaps/to_classic_cut.png diff --git a/data/pixmaps/to_classic_scale.png b/src/devedeng/data/pixmaps/to_classic_scale.png similarity index 100% rename from data/pixmaps/to_classic_scale.png rename to src/devedeng/data/pixmaps/to_classic_scale.png diff --git a/data/pixmaps/to_wide_blackbars.png b/src/devedeng/data/pixmaps/to_wide_blackbars.png similarity index 100% rename from data/pixmaps/to_wide_blackbars.png rename to src/devedeng/data/pixmaps/to_wide_blackbars.png diff --git a/data/pixmaps/to_wide_cut.png b/src/devedeng/data/pixmaps/to_wide_cut.png similarity index 100% rename from data/pixmaps/to_wide_cut.png rename to src/devedeng/data/pixmaps/to_wide_cut.png diff --git a/data/pixmaps/to_wide_scale.png b/src/devedeng/data/pixmaps/to_wide_scale.png similarity index 100% rename from data/pixmaps/to_wide_scale.png rename to src/devedeng/data/pixmaps/to_wide_scale.png diff --git a/src/devede_ng.py b/src/devedeng/devedeng.py old mode 100755 new mode 100644 similarity index 84% rename from src/devede_ng.py rename to src/devedeng/devedeng.py index 34566f7..07e1b0b --- a/src/devede_ng.py +++ b/src/devedeng/devedeng.py @@ -16,6 +16,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see + import gi gi.require_version('Gtk', '3.0') import sys @@ -27,26 +28,31 @@ import devedeng.project import devedeng.configuration_data import devedeng.choose_disc_type +_ = gettext.gettext + config_data = devedeng.configuration_data.configuration.get_config() if config_data is None: print("Can't locate extra files. Aborting.") sys.exit(1) +Gtk.init(sys.argv) + gettext.bindtextdomain(config_data.gettext_domain, config_data.share_locale) try: locale.setlocale(locale.LC_ALL, "") except locale.Error: pass +locale.bindtextdomain(config_data.gettext_domain, config_data.share_locale) gettext.textdomain(config_data.gettext_domain) gettext.install(config_data.gettext_domain, localedir=config_data.share_locale) -_ = gettext.gettext -Gtk.init(sys.argv) +def py(): + global config_data -mwindow = devedeng.project.devede_project() -ask_type = devedeng.choose_disc_type.choose_disc_type() + mwindow = devedeng.project.devede_project() + ask_type = devedeng.choose_disc_type.choose_disc_type() -Gtk.main() -config_data.save_config() + Gtk.main() + config_data.save_config() diff --git a/src/devedeng/file_copy.py b/src/devedeng/file_copy.py index 70ab497..6415765 100644 --- a/src/devedeng/file_copy.py +++ b/src/devedeng/file_copy.py @@ -31,24 +31,25 @@ class file_copy(devedeng.executor.executor): self.text = _("Copying file %(X)s") % { "X": os.path.basename(input_path)} - self.command_var = [] - self.command_var.append("copy_files_verbose.py") - self.command_var.append(input_path) - self.command_var.append(output_path) + self.command_var = ["dd", f"if={input_path}", f"of=output_path", "status=progress", "bs=1048576"] + self.file_size = float(os.stat(input_path).st_size) + print("Paso 1") def process_stdout(self, data): - - if (data is None) or (len(data) == 0): - return - if (data[0].startswith("Copied ")): - pos = data[0].find("%") - if (pos == -1): - return - p = float(data[0][7:pos]) - self.progress_bar[1].set_fraction(p / 100.0) - self.progress_bar[1].set_text("%.1f%%" % (p)) return def process_stderr(self, data): + if (data is None) or (len(data) == 0): + return + parts = data[0].split(" ") + if (len(parts) < 2) or (parts[1] != "bytes"): + return - return + try: + copied = float(parts[0]) + except: + return + + p = copied / self.file_size + self.progress_bar[1].set_fraction(p) + self.progress_bar[1].set_text("%.1f%%" % (p * 100)) diff --git a/src/devedeng/help.py b/src/devedeng/help.py index 1561c82..e53d312 100644 --- a/src/devedeng/help.py +++ b/src/devedeng/help.py @@ -29,7 +29,7 @@ class help: self.config = devedeng.configuration_data.configuration.get_config() file = "file://" + \ - os.path.join(self.config.help_path, "html", help_page) + os.path.join(self.config.help_path, help_page) retval = Gtk.show_uri(None, file, Gdk.CURRENT_TIME) if retval == False: diff --git a/src/devedeng/project.py b/src/devedeng/project.py index 4cd9fe9..e7065c7 100644 --- a/src/devedeng/project.py +++ b/src/devedeng/project.py @@ -42,7 +42,6 @@ import devedeng.opensave import devedeng.help import devedeng.separator - class devede_project: dvd_max_bps_base = {0: 9000} diff --git a/src/devedeng/settings.py b/src/devedeng/settings.py index fea9b5d..ee05f81 100644 --- a/src/devedeng/settings.py +++ b/src/devedeng/settings.py @@ -21,7 +21,6 @@ import devedeng.interface_manager import gettext import devedeng.converter - class settings_window(devedeng.interface_manager.interface_manager): def __init__(self, parent): diff --git a/src/devedeng/subtitles_mux.py b/src/devedeng/subtitles_mux.py index 2ad993a..898c186 100644 --- a/src/devedeng/subtitles_mux.py +++ b/src/devedeng/subtitles_mux.py @@ -22,7 +22,6 @@ import subprocess import devedeng.configuration_data import devedeng.executor - class subtitles_mux(devedeng.executor.executor): def __init__(self): diff --git a/src/unitests/test_avconv.py b/src/unitests/test_avconv.py deleted file mode 100755 index c327a08..0000000 --- a/src/unitests/test_avconv.py +++ /dev/null @@ -1,179 +0,0 @@ -import unittest -import devedeng.avbase -import devedeng.avprobe - - -class TestAVConv(unittest.TestCase): - - def test_ubuntu_14_04(self): - c = devedeng.avbase.avbase() - text = """avconv version 9.18-6:9.18-0ubuntu0.14.04.1, Copyright (c) 2000-2014 the Libav developers - built on Mar 16 2015 13:19:10 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1) -avconv 9.18-6:9.18-0ubuntu0.14.04.1 -libavutil 52. 3. 0 / 52. 3. 0 -libavcodec 54. 35. 0 / 54. 35. 0 -libavformat 54. 20. 4 / 54. 20. 4 -libavdevice 53. 2. 0 / 53. 2. 0 -libavfilter 3. 3. 0 / 3. 3. 0 -libavresample 1. 0. 1 / 1. 0. 1 -libswscale 2. 1. 1 / 2. 1. 1""".split("\n") - text.append(9) - c.check_version_txt(text) - - self.assertEqual( - c.major_version, 9, "Detecting major version for Ubuntu 14.04's AVConv version") - self.assertEqual( - c.minor_version, 18, "Detecting minor version for Ubuntu 14.04's AVConv version") - - def test_ubuntu_14_10(self): - c = devedeng.avbase.avbase() - text = """avconv version 11-6:11-1, Copyright (c) 2000-2014 the Libav developers - built on Sep 26 2014 14:36:31 with gcc 4.9.1 (Ubuntu 4.9.1-15ubuntu1) -avconv 11-6:11-1 -libavutil 54. 3. 0 / 54. 3. 0 -libavcodec 56. 1. 0 / 56. 1. 0 -libavformat 56. 1. 0 / 56. 1. 0 -libavdevice 55. 0. 0 / 55. 0. 0 -libavfilter 5. 0. 0 / 5. 0. 0 -libavresample 2. 1. 0 / 2. 1. 0 -libswscale 3. 0. 0 / 3. 0. 0""".split("\n") - text.append(9) - c.check_version_txt(text) - - self.assertEqual( - c.major_version, 11, "Detecting major version for Ubuntu 14.10's AVConv version") - self.assertEqual( - c.minor_version, 0, "Detecting minor version for Ubuntu 14.10's AVConv version") - - def test_ubuntu_15_04(self): - c = devedeng.avbase.avbase() - text = """avconv version 11.2-6:11.2-1, Copyright (c) 2000-2014 the Libav developers - built on Jan 18 2015 05:12:33 with gcc 4.9.2 (Ubuntu 4.9.2-10ubuntu2) -avconv 11.2-6:11.2-1 -libavutil 54. 3. 0 / 54. 3. 0 -libavcodec 56. 1. 0 / 56. 1. 0 -libavformat 56. 1. 0 / 56. 1. 0 -libavdevice 55. 0. 0 / 55. 0. 0 -libavfilter 5. 0. 0 / 5. 0. 0 -libavresample 2. 1. 0 / 2. 1. 0 -libswscale 3. 0. 0 / 3. 0. 0""".split("\n") - text.append(9) - c.check_version_txt(text) - - self.assertEqual( - c.major_version, 11, "Detecting major version for Ubuntu 15.04's AVConv version") - self.assertEqual( - c.minor_version, 2, "Detecting minor version for Ubuntu 15.04's AVConv version") - - def test_mkv1(self): - - c = devedeng.avprobe.avprobe() - json_test = """{ - "streams": [ - { - "index": 0, - "codec_name": "aac", - "codec_long_name": "AAC (Advanced Audio Coding)", - "profile": "LC", - "codec_type": "audio", - "codec_time_base": "1/44100", - "codec_tag_string": "mp4a", - "codec_tag": "0x6134706d", - "sample_fmt": "fltp", - "sample_rate": "44100", - "channels": 2, - "channel_layout": "stereo", - "bits_per_sample": 0, - "r_frame_rate": "0/0", - "avg_frame_rate": "0/0", - "time_base": "1/44100", - "start_pts": 0, - "start_time": "0.000000", - "duration_ts": 3771392, - "duration": "85.519093", - "bit_rate": "115596", - "nb_frames": "3683", - "disposition": { - "default": 1, - "dub": 0, - "original": 0, - "comment": 0, - "lyrics": 0, - "karaoke": 0, - "forced": 0, - "hearing_impaired": 0, - "visual_impaired": 0, - "clean_effects": 0, - "attached_pic": 0 - }, - "tags": { - "creation_time": "2005-12-20 20:20:15", - "language": "eng", - "handler_name": "Apple Sound Media Handler" - } - }, - { - "index": 1, - "codec_name": "h264", - "codec_long_name": "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10", - "profile": "Constrained Baseline", - "codec_type": "video", - "codec_time_base": "1/2000", - "codec_tag_string": "avc1", - "codec_tag": "0x31637661", - "width": 320, - "height": 240, - "has_b_frames": 0, - "sample_aspect_ratio": "0:1", - "display_aspect_ratio": "0:1", - "pix_fmt": "yuv420p", - "level": 13, - "color_range": "tv", - "color_space": "smpte170m", - "color_transfer": "bt709", - "color_primaries": "smpte170m", - "chroma_location": "topleft", - "is_avc": "1", - "nal_length_size": "4", - "r_frame_rate": "10/1", - "avg_frame_rate": "10/1", - "time_base": "1/1000", - "start_pts": 0, - "start_time": "0.000000", - "duration_ts": 85500, - "duration": "85.500000", - "bit_rate": "90795", - "bits_per_raw_sample": "8", - "nb_frames": "855", - "disposition": { - "default": 1, - "dub": 0, - "original": 0, - "comment": 0, - "lyrics": 0, - "karaoke": 0, - "forced": 0, - "hearing_impaired": 0, - "visual_impaired": 0, - "clean_effects": 0, - "attached_pic": 0 - }, - "tags": { - "creation_time": "2005-12-20 20:20:15", - "language": "eng", - "handler_name": "Apple Video Media Handler" - } - } - ] -}""" - retval = c.process_json(json_test, "filename.mkv") - self.assertFalse(retval) - self.assertEqual(c.audio_streams, 1, - "Checking number of audio streams") - self.assertEqual(c.audio_list[0], 0, "Checking audio stream 1") - self.assertEqual(c.video_streams, 1, - "Checking number of video streams") - self.assertEqual(c.video_list[0], 1, "Checking video stream 1") - -if __name__ == '__main__': - unittest.main() diff --git a/stdeb.cfg b/stdeb.cfg index eaa83bb..05aaa41 100644 --- a/stdeb.cfg +++ b/stdeb.cfg @@ -1,2 +1,2 @@ [DEFAULT] -Depends3 = dh-python, python3, python3-urllib3, python3-gi, python3-cairo, python3-gi-cairo, libgtk-3-0, ffmpeg (>= 7:1.2.6) | libav-tools(>= 6:9.16), mplayer, mpv | vlc, dvdauthor, genisoimage, vcdimager, libvorbis0a, libvorbisfile3, python3-pkg-resources +Depends3 = dh-python, python3, python3-urllib3, python3-gi, python3-cairo, python3-gi-cairo, libgtk-3-0, gir1.2-gtk-3.0, ffmpeg (>= 7:1.2.6) | libav-tools(>= 6:9.16), mplayer | mpv | vlc, dvdauthor, genisoimage, vcdimager, libvorbis0a, libvorbisfile3, python3-pkg-resources