View | Details | Raw Unified | Return to bug 243472 | Differences between
and this patch

Collapse All | Expand All

(-)Makefile (-2 / +6 lines)
Lines 1-8 Link Here
1
# $FreeBSD$
1
# $FreeBSD$
2
2
3
PORTNAME=	rapid-photo-downloader
3
PORTNAME=	rapid-photo-downloader
4
DISTVERSION=	0.9.17
4
DISTVERSION=	0.9.23
5
PORTREVISION=	2
6
CATEGORIES=	graphics
5
CATEGORIES=	graphics
7
MASTER_SITES=	https://launchpad.net/rapid/pyqt/${PORTVERSION}/+download/
6
MASTER_SITES=	https://launchpad.net/rapid/pyqt/${PORTVERSION}/+download/
8
7
Lines 15-20 Link Here
15
LIB_DEPENDS=	libgexiv2.so:graphics/gexiv2 \
14
LIB_DEPENDS=	libgexiv2.so:graphics/gexiv2 \
16
		libgudev-1.0.so:devel/libgudev
15
		libgudev-1.0.so:devel/libgudev
17
RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}arrow>0:devel/py-arrow@${PY_FLAVOR} \
16
RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}arrow>0:devel/py-arrow@${PY_FLAVOR} \
17
		${PYTHON_PKGNAMEPREFIX}Babel>0:devel/py-babel@${PY_FLAVOR} \
18
		${PYTHON_PKGNAMEPREFIX}colour>0:graphics/py-colour@${PY_FLAVOR} \
18
		${PYTHON_PKGNAMEPREFIX}colour>0:graphics/py-colour@${PY_FLAVOR} \
19
		${PYTHON_PKGNAMEPREFIX}dateutil>2.2:devel/py-dateutil@${PY_FLAVOR} \
19
		${PYTHON_PKGNAMEPREFIX}dateutil>2.2:devel/py-dateutil@${PY_FLAVOR} \
20
		${PYTHON_PKGNAMEPREFIX}easygui>=0:x11-toolkits/py-easygui@${PY_FLAVOR} \
20
		${PYTHON_PKGNAMEPREFIX}easygui>=0:x11-toolkits/py-easygui@${PY_FLAVOR} \
Lines 51-54 Link Here
51
COLOUR_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}colorlog>0:devel/py-colorlog@${PY_FLAVOR}
51
COLOUR_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}colorlog>0:devel/py-colorlog@${PY_FLAVOR}
52
PROGRESS_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pyprind>=1.4.0:misc/py-pyprind@${PY_FLAVOR}
52
PROGRESS_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pyprind>=1.4.0:misc/py-pyprind@${PY_FLAVOR}
53
53
54
post-patch:
55
	@${REINPLACE_CMD} -e 's|'share/man/man1'|'man/man1'|' \
56
		${WRKSRC}/setup.py
57
54
.include <bsd.port.mk>
58
.include <bsd.port.mk>
(-)distinfo (-3 / +3 lines)
Lines 1-3 Link Here
1
TIMESTAMP = 1568565754
1
TIMESTAMP = 1587355599
2
SHA256 (rapid-photo-downloader-0.9.17.tar.gz) = 26dbce5d2e775af39ce8f17224a862ed71a86a47768a7ebb04193d96535c7883
2
SHA256 (rapid-photo-downloader-0.9.23.tar.gz) = 2bfe30e237803870486ee5e79e482529da4c592930e48d1ba20c03f36f6719f4
3
SIZE (rapid-photo-downloader-0.9.17.tar.gz) = 6877573
3
SIZE (rapid-photo-downloader-0.9.23.tar.gz) = 8101336
(-)files/patch-raphodo_rapid.py (-13 / +13 lines)
Lines 1-6 Link Here
1
--- raphodo/rapid.py.orig	2019-08-18 03:58:11 UTC
1
--- raphodo/rapid.py.orig	2020-04-17 01:22:23 UTC
2
+++ raphodo/rapid.py
2
+++ raphodo/rapid.py
3
@@ -98,7 +98,7 @@ from PyQt5.QtNetwork import QLocalSocket, QLocalServer
3
@@ -96,7 +96,7 @@ from PyQt5.QtNetwork import QLocalSocket, QLocalServer
4
 import sip
4
 import sip
5
 
5
 
6
 from raphodo.storage import (
6
 from raphodo.storage import (
Lines 9-15 Link Here
9
     has_one_or_more_folders, mountPaths, get_desktop_environment, get_desktop,
9
     has_one_or_more_folders, mountPaths, get_desktop_environment, get_desktop,
10
     gvfs_controls_mounts, get_default_file_manager, validate_download_folder,
10
     gvfs_controls_mounts, get_default_file_manager, validate_download_folder,
11
     validate_source_folder, get_fdo_cache_thumb_base_directory, WatchDownloadDirs, get_media_dir,
11
     validate_source_folder, get_fdo_cache_thumb_base_directory, WatchDownloadDirs, get_media_dir,
12
@@ -584,12 +584,12 @@ class RapidWindow(QMainWindow):
12
@@ -609,12 +609,12 @@ class RapidWindow(QMainWindow):
13
             self.prefs.backup_files = backup
13
             self.prefs.backup_files = backup
14
         else:
14
         else:
15
             logging.info("Backing up files: %s", self.prefs.backup_files)
15
             logging.info("Backing up files: %s", self.prefs.backup_files)
Lines 24-30 Link Here
24
         if photo_backup_identifier is not None:
24
         if photo_backup_identifier is not None:
25
             self.prefs.photo_backup_identifier = photo_backup_identifier
25
             self.prefs.photo_backup_identifier = photo_backup_identifier
26
         elif self.prefs.backup_files and self.prefs.backup_device_autodetection:
26
         elif self.prefs.backup_files and self.prefs.backup_device_autodetection:
27
@@ -599,7 +599,7 @@ class RapidWindow(QMainWindow):
27
@@ -624,7 +624,7 @@ class RapidWindow(QMainWindow):
28
             self.prefs.video_backup_identifier = video_backup_identifier
28
             self.prefs.video_backup_identifier = video_backup_identifier
29
         elif self.prefs.backup_files and self.prefs.backup_device_autodetection:
29
         elif self.prefs.backup_files and self.prefs.backup_device_autodetection:
30
             logging.info("video backup identifier: %s", self.prefs.video_backup_identifier)
30
             logging.info("video backup identifier: %s", self.prefs.video_backup_identifier)
Lines 33-39 Link Here
33
         if photo_backup_location is not None:
33
         if photo_backup_location is not None:
34
             self.prefs.backup_photo_location = photo_backup_location
34
             self.prefs.backup_photo_location = photo_backup_location
35
         elif self.prefs.backup_files and not self.prefs.backup_device_autodetection:
35
         elif self.prefs.backup_files and not self.prefs.backup_device_autodetection:
36
@@ -934,18 +934,6 @@ class RapidWindow(QMainWindow):
36
@@ -939,18 +939,6 @@ class RapidWindow(QMainWindow):
37
             logging.debug("Starting camera hotplug monitor...")
37
             logging.debug("Starting camera hotplug monitor...")
38
             QTimer.singleShot(0, self.cameraHotplugThread.start)
38
             QTimer.singleShot(0, self.cameraHotplugThread.start)
39
 
39
 
Lines 52-58 Link Here
52
         if self.gvfsControlsMounts:
52
         if self.gvfsControlsMounts:
53
             # Gio.VolumeMonitor must be in the main thread, according to
53
             # Gio.VolumeMonitor must be in the main thread, according to
54
             # Gnome documentation
54
             # Gnome documentation
55
@@ -2119,7 +2107,7 @@ class RapidWindow(QMainWindow):
55
@@ -2189,7 +2177,7 @@ class RapidWindow(QMainWindow):
56
             select_text=_('Select a destination folder')
56
             select_text=_('Select a destination folder')
57
         )
57
         )
58
         self.photoDestination.addWidget(self.photoDestinationWidget)
58
         self.photoDestination.addWidget(self.photoDestinationWidget)
Lines 61-67 Link Here
61
         self.videoDestinationDisplay = DestinationDisplay(
61
         self.videoDestinationDisplay = DestinationDisplay(
62
             menu=True, file_type=FileType.video, parent=self
62
             menu=True, file_type=FileType.video, parent=self
63
         )
63
         )
64
@@ -2582,11 +2570,11 @@ class RapidWindow(QMainWindow):
64
@@ -2655,11 +2643,11 @@ class RapidWindow(QMainWindow):
65
 
65
 
66
         body = _(
66
         body = _(
67
             r"""Please report the problem at <a href="{website}">{website}</a>.<br><br>
67
             r"""Please report the problem at <a href="{website}">{website}</a>.<br><br>
Lines 77-83 Link Here
77
             <a href="{config_path}">here</a> to open the configuration directory.
77
             <a href="{config_path}">here</a> to open the configuration directory.
78
             """
78
             """
79
         ).format(
79
         ).format(
80
@@ -2622,7 +2610,7 @@ class RapidWindow(QMainWindow):
80
@@ -2695,7 +2683,7 @@ class RapidWindow(QMainWindow):
81
 
81
 
82
         :param message: the text to display
82
         :param message: the text to display
83
         :param rich_text: whether it text to display is in HTML format
83
         :param rich_text: whether it text to display is in HTML format
Lines 86-92 Link Here
86
          localized 'Rapid Photo Downloader'
86
          localized 'Rapid Photo Downloader'
87
         :return: the message box
87
         :return: the message box
88
         """
88
         """
89
@@ -4652,8 +4640,6 @@ Do you want to proceed with the download?
89
@@ -4766,8 +4754,6 @@ Do you want to proceed with the download?
90
             self.sendTerminateToThread(self.backup_controller)
90
             self.sendTerminateToThread(self.backup_controller)
91
 
91
 
92
         if not self.gvfsControlsMounts:
92
         if not self.gvfsControlsMounts:
Lines 95-101 Link Here
95
             self.cameraHotplugThread.quit()
95
             self.cameraHotplugThread.quit()
96
             self.cameraHotplugThread.wait()
96
             self.cameraHotplugThread.wait()
97
         else:
97
         else:
98
@@ -5254,7 +5240,7 @@ Do you want to proceed with the download?
98
@@ -5384,7 +5370,7 @@ Do you want to proceed with the download?
99
         After a preference change, rescan already scanned devices
99
         After a preference change, rescan already scanned devices
100
         :param ignore_cameras: if True, don't rescan cameras
100
         :param ignore_cameras: if True, don't rescan cameras
101
         :param rescan_path: if True, include manually specified paths
101
         :param rescan_path: if True, include manually specified paths
Lines 104-110 Link Here
104
         """
104
         """
105
 
105
 
106
         if rescan_path:
106
         if rescan_path:
107
@@ -6243,7 +6229,7 @@ def main():
107
@@ -6499,7 +6485,7 @@ def main():
108
     logger = iplogging.setup_main_process_logging(logging_level=logging_level)
108
     logger = iplogging.setup_main_process_logging(logging_level=logging_level)
109
 
109
 
110
     logging.info("Rapid Photo Downloader is starting")
110
     logging.info("Rapid Photo Downloader is starting")
Lines 113-119 Link Here
113
     if args.photo_renaming:
113
     if args.photo_renaming:
114
         photo_rename = args.photo_renaming == 'on'
114
         photo_rename = args.photo_renaming == 'on'
115
         if photo_rename:
115
         if photo_rename:
116
@@ -6252,7 +6238,7 @@ def main():
116
@@ -6508,7 +6494,7 @@ def main():
117
             logging.info("Photo renaming turned off from command line")
117
             logging.info("Photo renaming turned off from command line")
118
     else:
118
     else:
119
         photo_rename = None
119
         photo_rename = None
Lines 122-128 Link Here
122
     if args.video_renaming:
122
     if args.video_renaming:
123
         video_rename = args.video_renaming == 'on'
123
         video_rename = args.video_renaming == 'on'
124
         if video_rename:
124
         if video_rename:
125
@@ -6313,13 +6299,13 @@ def main():
125
@@ -6569,13 +6555,13 @@ def main():
126
             logging.info("This Computer path set from command line: %s", this_computer_location)
126
             logging.info("This Computer path set from command line: %s", this_computer_location)
127
         else:
127
         else:
128
             this_computer_location=None
128
             this_computer_location=None
(-)files/patch-raphodo_storage.py (-7 / +7 lines)
Lines 1-4 Link Here
1
--- raphodo/storage.py.orig	2019-07-09 21:12:19 UTC
1
--- raphodo/storage.py.orig	2020-04-17 01:22:23 UTC
2
+++ raphodo/storage.py
2
+++ raphodo/storage.py
3
@@ -68,10 +68,9 @@ import xdg
3
@@ -68,10 +68,9 @@ import xdg
4
 import gi
4
 import gi
Lines 10-17 Link Here
10
-from gi.repository import GUdev, UDisks, GLib
10
-from gi.repository import GUdev, UDisks, GLib
11
+from gi.repository import GUdev, GLib
11
+from gi.repository import GUdev, GLib
12
 
12
 
13
 from gettext import gettext as _
14
 
13
 
14
 
15
@@ -170,7 +169,7 @@ def get_media_dir() -> str:
15
@@ -170,7 +169,7 @@ def get_media_dir() -> str:
16
 
16
 
17
     """
17
     """
Lines 19-25 Link Here
19
-    if sys.platform.startswith('linux'):
19
-    if sys.platform.startswith('linux'):
20
+    if sys.platform.startswith('linux') or sys.platform.startswith('freebsd'):
20
+    if sys.platform.startswith('linux') or sys.platform.startswith('freebsd'):
21
         media_dir = '/media/{}'.format(get_user_name())
21
         media_dir = '/media/{}'.format(get_user_name())
22
         run_media_dir = '/run{}'.format(media_dir)
22
         run_media_dir = '/run/media'
23
         distro = get_distro()
23
         distro = get_distro()
24
@@ -278,7 +277,7 @@ class ValidMounts():
24
@@ -278,7 +277,7 @@ class ValidMounts():
25
         self.validMountFolders, e.g. /media/<USER>, etc.
25
         self.validMountFolders, e.g. /media/<USER>, etc.
Lines 30-36 Link Here
30
             raise ("Mounts.setValidMountPoints() not implemented on %s", sys.platform())
30
             raise ("Mounts.setValidMountPoints() not implemented on %s", sys.platform())
31
         else:
31
         else:
32
             try:
32
             try:
33
@@ -646,7 +645,7 @@ def get_default_file_manager() -> Tuple[Optional[str],
33
@@ -649,7 +648,7 @@ def get_default_file_manager() -> Tuple[Optional[str],
34
 
34
 
35
     _default_file_manager_probed = True
35
     _default_file_manager_probed = True
36
 
36
 
Lines 39-45 Link Here
39
     cmd = shlex.split('xdg-mime query default inode/directory')
39
     cmd = shlex.split('xdg-mime query default inode/directory')
40
     try:
40
     try:
41
         desktop_file = subprocess.check_output(cmd, universal_newlines=True)  # type: str
41
         desktop_file = subprocess.check_output(cmd, universal_newlines=True)  # type: str
42
@@ -791,7 +790,7 @@ def validate_download_folder(path: Optional[str],
42
@@ -794,7 +793,7 @@ def validate_download_folder(path: Optional[str],
43
 
43
 
44
     :param path: path to analyze
44
     :param path: path to analyze
45
     :param write_on_waccesss_failure: if os.access reports path is not writable, test
45
     :param write_on_waccesss_failure: if os.access reports path is not writable, test
Lines 48-54 Link Here
48
     :return: Tuple indicating validity and path made absolute
48
     :return: Tuple indicating validity and path made absolute
49
 
49
 
50
     >>> validate_download_folder('/some/bogus/and/ridiculous/path')
50
     >>> validate_download_folder('/some/bogus/and/ridiculous/path')
51
@@ -1008,259 +1007,6 @@ class CameraHotplug(QObject):
51
@@ -1041,259 +1040,6 @@ class CameraHotplug(QObject):
52
                 self.cameraRemoved.emit()
52
                 self.cameraRemoved.emit()
53
 
53
 
54
 
54
 
Lines 308-314 Link Here
308
 if have_gio:
308
 if have_gio:
309
     class GVolumeMonitor(QObject):
309
     class GVolumeMonitor(QObject):
310
         r"""
310
         r"""
311
@@ -1577,7 +1323,7 @@ def get_mount_size(mount: QStorageInfo) -> Tuple[int, 
311
@@ -1692,7 +1438,7 @@ def get_mount_size(mount: QStorageInfo) -> Tuple[int, 
312
     """
312
     """
313
     Uses GIO to get bytes total and bytes free (available) for the mount that a
313
     Uses GIO to get bytes total and bytes free (available) for the mount that a
314
     path is in.
314
     path is in.
(-)files/patch-raphodo_utilities.py (-5 / +5 lines)
Lines 1-6 Link Here
1
--- raphodo/utilities.py.orig	2019-08-18 03:58:11 UTC
1
--- raphodo/utilities.py.orig	2020-04-17 01:22:23 UTC
2
+++ raphodo/utilities.py
2
+++ raphodo/utilities.py
3
@@ -76,10 +76,11 @@ if arrow_version >= parse_version('0.14.3') and arrow_
3
@@ -82,10 +82,11 @@ if arrow_version >= parse_version('0.14.3') and arrow_
4
 # Linux specific code to ensure child processes exit when parent dies
4
 # Linux specific code to ensure child processes exit when parent dies
5
 # See http://stackoverflow.com/questions/19447603/
5
 # See http://stackoverflow.com/questions/19447603/
6
 # how-to-kill-a-python-child-process-created-with-subprocess-check-output-when-t/
6
 # how-to-kill-a-python-child-process-created-with-subprocess-check-output-when-t/
Lines 14-20 Link Here
14
     return callable
14
     return callable
15
 
15
 
16
 
16
 
17
@@ -195,8 +196,8 @@ def show_errors():
17
@@ -201,8 +202,8 @@ def show_errors():
18
 # kilobytes, etc.
18
 # kilobytes, etc.
19
 suffixes = [_('B'), _('KB'), _('MB'), _('GB'), _('TB'), _('PB'), _('EB'), _('ZB'), _('YB')]
19
 suffixes = [_('B'), _('KB'), _('MB'), _('GB'), _('TB'), _('PB'), _('EB'), _('ZB'), _('YB')]
20
 
20
 
Lines 25-31 Link Here
25
                          no_decimals: int=2) -> str:
25
                          no_decimals: int=2) -> str:
26
     r"""
26
     r"""
27
     Humanize display of bytes.
27
     Humanize display of bytes.
28
@@ -382,12 +383,12 @@ def find_mount_point(path: str) -> str:
28
@@ -388,12 +389,12 @@ def find_mount_point(path: str) -> str:
29
     Find the mount point of a path
29
     Find the mount point of a path
30
     See:
30
     See:
31
     http://stackoverflow.com/questions/4453602/how-to-find-the-mountpoint-a-file-resides-on
31
     http://stackoverflow.com/questions/4453602/how-to-find-the-mountpoint-a-file-resides-on
Lines 42-48 Link Here
42
     """
42
     """
43
     path = os.path.realpath(path)
43
     path = os.path.realpath(path)
44
     while not os.path.ismount(path):
44
     while not os.path.ismount(path):
45
@@ -724,13 +725,13 @@ def _collect_duplicates(basenames, paths):
45
@@ -743,13 +744,13 @@ def _collect_duplicates(basenames, paths):
46
 
46
 
47
 def make_path_end_snippets_unique(*paths) -> List[str]:
47
 def make_path_end_snippets_unique(*paths) -> List[str]:
48
     r"""
48
     r"""
(-)files/patch-setup.py (+10 lines)
Line 0 Link Here
1
--- setup.py.orig	2020-04-17 01:22:23 UTC
2
+++ setup.py
3
@@ -271,7 +271,6 @@ setup(
4
         'scandir;python_version<"3.5"',
5
         'typing;python_version<"3.5"',
6
         'PyGObject',
7
-        'PyQt5',
8
         'babel',
9
     ],
10
     extras_require={

Return to bug 243472