tartube 2.5.177__py3-none-any.whl → 2.5.197__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- tartube/classes.py +1 -1
- tartube/config.py +118 -31
- tartube/dialogue.py +1 -1
- tartube/downloads.py +14 -1
- tartube/ffmpeg_tartube.py +1 -1
- tartube/files.py +1 -1
- tartube/formats.py +2 -1
- tartube/icons/small/regex.png +0 -0
- tartube/info.py +1 -1
- tartube/mainapp.py +241 -165
- tartube/mainwin.py +264 -147
- tartube/media.py +9 -1
- tartube/options.py +1 -1
- tartube/process.py +1 -1
- tartube/refresh.py +1 -1
- tartube/tartube +5 -5
- tartube/tidy.py +1 -1
- tartube/ttutils.py +1 -1
- tartube/updates.py +1 -1
- tartube/wizwin.py +1 -1
- {tartube-2.5.177.data → tartube-2.5.197.data}/scripts/tartube +5 -5
- {tartube-2.5.177.dist-info → tartube-2.5.197.dist-info}/METADATA +1 -1
- {tartube-2.5.177.dist-info → tartube-2.5.197.dist-info}/RECORD +50 -49
- usr/share/locale/de/LC_MESSAGES/tartube.mo +0 -0
- usr/share/locale/de/LC_MESSAGES/tartube.po +2772 -2680
- usr/share/locale/en_US/LC_MESSAGES/tartube.po +2743 -2662
- usr/share/locale/es/LC_MESSAGES/tartube.mo +0 -0
- usr/share/locale/es/LC_MESSAGES/tartube.po +2749 -2666
- usr/share/locale/fr/LC_MESSAGES/tartube.mo +0 -0
- usr/share/locale/fr/LC_MESSAGES/tartube.po +2773 -2681
- usr/share/locale/ja/LC_MESSAGES/tartube.mo +0 -0
- usr/share/locale/ja/LC_MESSAGES/tartube.po +2765 -2673
- usr/share/locale/ko_KR/LC_MESSAGES/tartube.mo +0 -0
- usr/share/locale/ko_KR/LC_MESSAGES/tartube.po +2750 -2666
- usr/share/locale/nl_NL/LC_MESSAGES/tartube.mo +0 -0
- usr/share/locale/nl_NL/LC_MESSAGES/tartube.po +2750 -2666
- usr/share/locale/ru/LC_MESSAGES/tartube.mo +0 -0
- usr/share/locale/ru/LC_MESSAGES/tartube.po +2761 -2672
- usr/share/locale/ta/LC_MESSAGES/tartube.mo +0 -0
- usr/share/locale/ta/LC_MESSAGES/tartube.po +2768 -2676
- usr/share/locale/tr/LC_MESSAGES/tartube.po +2743 -2663
- usr/share/locale/vi/LC_MESSAGES/tartube.mo +0 -0
- usr/share/locale/vi/LC_MESSAGES/tartube.po +2750 -2667
- usr/share/locale/zh_CN/LC_MESSAGES/tartube.mo +0 -0
- usr/share/locale/zh_CN/LC_MESSAGES/tartube.po +2761 -2669
- usr/share/locale/zh_Hant/LC_MESSAGES/tartube.po +2743 -2663
- {tartube-2.5.177.dist-info → tartube-2.5.197.dist-info}/AUTHORS +0 -0
- {tartube-2.5.177.dist-info → tartube-2.5.197.dist-info}/LICENSE +0 -0
- {tartube-2.5.177.dist-info → tartube-2.5.197.dist-info}/WHEEL +0 -0
- {tartube-2.5.177.dist-info → tartube-2.5.197.dist-info}/top_level.txt +0 -0
tartube/classes.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env python3
|
|
2
2
|
# -*- coding: utf-8 -*-
|
|
3
3
|
#
|
|
4
|
-
# Copyright (C) 2019-
|
|
4
|
+
# Copyright (C) 2019-2026 A S Lewis
|
|
5
5
|
#
|
|
6
6
|
# This program is free software; you can redistribute it and/or modify it under
|
|
7
7
|
# the terms of the GNU Lesser General Public License as published by the Free
|
tartube/config.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env python3
|
|
2
2
|
# -*- coding: utf-8 -*-
|
|
3
3
|
#
|
|
4
|
-
# Copyright (C) 2019-
|
|
4
|
+
# Copyright (C) 2019-2026 A S Lewis
|
|
5
5
|
#
|
|
6
6
|
# This program is free software; you can redistribute it and/or modify it under
|
|
7
7
|
# the terms of the GNU Lesser General Public License as published by the Free
|
|
@@ -2195,6 +2195,20 @@ class GenericEditWin(GenericConfigWin):
|
|
|
2195
2195
|
if parent_obj:
|
|
2196
2196
|
entry4.set_text(parent_obj.name)
|
|
2197
2197
|
|
|
2198
|
+
if isinstance(self.edit_obj, media.Video):
|
|
2199
|
+
|
|
2200
|
+
label3 = self.add_label(grid,
|
|
2201
|
+
_('Author'),
|
|
2202
|
+
0, 4, 1, 1,
|
|
2203
|
+
)
|
|
2204
|
+
label3.set_hexpand(False)
|
|
2205
|
+
|
|
2206
|
+
entry5 = self.add_entry(grid,
|
|
2207
|
+
'author',
|
|
2208
|
+
2, 4, 1, 1,
|
|
2209
|
+
)
|
|
2210
|
+
entry5.set_editable(False)
|
|
2211
|
+
|
|
2198
2212
|
|
|
2199
2213
|
def add_destination_properties(self, grid):
|
|
2200
2214
|
|
|
@@ -2294,15 +2308,20 @@ class GenericEditWin(GenericConfigWin):
|
|
|
2294
2308
|
else:
|
|
2295
2309
|
string = _('Video URL')
|
|
2296
2310
|
|
|
2311
|
+
if isinstance(self.edit_obj, media.Video):
|
|
2312
|
+
row = 5
|
|
2313
|
+
else:
|
|
2314
|
+
row = 4
|
|
2315
|
+
|
|
2297
2316
|
label = self.add_label(grid,
|
|
2298
2317
|
string,
|
|
2299
|
-
0,
|
|
2318
|
+
0, row, 1, 1,
|
|
2300
2319
|
)
|
|
2301
2320
|
label.set_hexpand(False)
|
|
2302
2321
|
|
|
2303
2322
|
entry = self.add_entry(grid,
|
|
2304
2323
|
'source',
|
|
2305
|
-
2,
|
|
2324
|
+
2, row, 1, 1,
|
|
2306
2325
|
)
|
|
2307
2326
|
entry.set_editable(False)
|
|
2308
2327
|
|
|
@@ -15006,13 +15025,13 @@ class VideoEditWin(GenericEditWin):
|
|
|
15006
15025
|
|
|
15007
15026
|
label = self.add_label(grid,
|
|
15008
15027
|
_('File'),
|
|
15009
|
-
0,
|
|
15028
|
+
0, 6, 1, 1,
|
|
15010
15029
|
)
|
|
15011
15030
|
label.set_hexpand(False)
|
|
15012
15031
|
|
|
15013
15032
|
frame = self.add_image(grid,
|
|
15014
15033
|
self.app_obj.main_win_obj.icon_dict['stock_file'],
|
|
15015
|
-
1,
|
|
15034
|
+
1, 6, 1, 1,
|
|
15016
15035
|
)
|
|
15017
15036
|
# (The frame looks cramped without this. The icon itself is 16x16)
|
|
15018
15037
|
frame.set_size_request(
|
|
@@ -15022,7 +15041,7 @@ class VideoEditWin(GenericEditWin):
|
|
|
15022
15041
|
|
|
15023
15042
|
# (To avoid messing up the neat format of the rows above, add a
|
|
15024
15043
|
# secondary grid, and put the next set of widgets inside it)
|
|
15025
|
-
grid2 = self.add_secondary_grid(grid, 2,
|
|
15044
|
+
grid2 = self.add_secondary_grid(grid, 2, 6, 1, 1)
|
|
15026
15045
|
|
|
15027
15046
|
entry = self.add_entry(grid2,
|
|
15028
15047
|
None,
|
|
@@ -15055,13 +15074,13 @@ class VideoEditWin(GenericEditWin):
|
|
|
15055
15074
|
# (Back to the main grid)
|
|
15056
15075
|
label2 = self.add_label(grid,
|
|
15057
15076
|
_('Metadata file'),
|
|
15058
|
-
0,
|
|
15077
|
+
0, 7, 2, 1,
|
|
15059
15078
|
)
|
|
15060
15079
|
label2.set_hexpand(False)
|
|
15061
15080
|
|
|
15062
15081
|
# (To avoid messing up the neat format of the rows above, add a
|
|
15063
15082
|
# secondary grid, and put the next set of widgets inside it)
|
|
15064
|
-
grid3 = self.add_secondary_grid(grid, 2,
|
|
15083
|
+
grid3 = self.add_secondary_grid(grid, 2, 7, 1, 1)
|
|
15065
15084
|
|
|
15066
15085
|
entry2 = self.add_entry(grid3,
|
|
15067
15086
|
None,
|
|
@@ -15101,7 +15120,7 @@ class VideoEditWin(GenericEditWin):
|
|
|
15101
15120
|
|
|
15102
15121
|
# (To avoid messing up the neat format of the rows above, add a
|
|
15103
15122
|
# secondary grid, and put the next set of widgets inside it)
|
|
15104
|
-
grid4 = self.add_secondary_grid(grid, 0,
|
|
15123
|
+
grid4 = self.add_secondary_grid(grid, 0, 8, grid_width, 1)
|
|
15105
15124
|
|
|
15106
15125
|
checkbutton = self.add_checkbutton(grid4,
|
|
15107
15126
|
_('Video downloaded'),
|
|
@@ -21955,7 +21974,7 @@ class SystemPrefWin(GenericPrefWin):
|
|
|
21955
21974
|
_('D_elete'),
|
|
21956
21975
|
inner_notebook,
|
|
21957
21976
|
)
|
|
21958
|
-
grid_width =
|
|
21977
|
+
grid_width = 12
|
|
21959
21978
|
|
|
21960
21979
|
# Automatic video deletion/removal preferences
|
|
21961
21980
|
self.add_label(grid,
|
|
@@ -21975,46 +21994,58 @@ class SystemPrefWin(GenericPrefWin):
|
|
|
21975
21994
|
_('Automatically delete downloaded videos'),
|
|
21976
21995
|
self.app_obj.auto_delete_flag,
|
|
21977
21996
|
True, # Can be toggled by user
|
|
21978
|
-
0, 2,
|
|
21997
|
+
0, 2, 6, 1,
|
|
21979
21998
|
)
|
|
21980
21999
|
# (Signal connect appears below)
|
|
21981
22000
|
|
|
21982
22001
|
self.spinbutton = self.add_spinbutton(grid,
|
|
21983
22002
|
0, 999, 1, self.app_obj.auto_delete_days,
|
|
21984
|
-
|
|
22003
|
+
6, 2, 3, 1,
|
|
21985
22004
|
)
|
|
21986
22005
|
if not self.app_obj.auto_delete_flag:
|
|
21987
22006
|
self.spinbutton.set_sensitive(False)
|
|
21988
22007
|
# (Signal connect appears below)
|
|
21989
22008
|
|
|
21990
|
-
|
|
21991
|
-
_('days'),
|
|
21992
|
-
|
|
22009
|
+
combo_list = [
|
|
22010
|
+
[ _('days since download'), 'download' ],
|
|
22011
|
+
[ _('days since upload'), 'upload' ],
|
|
22012
|
+
]
|
|
22013
|
+
|
|
22014
|
+
combo = self.add_combo_with_data(grid,
|
|
22015
|
+
combo_list,
|
|
22016
|
+
None,
|
|
22017
|
+
9, 2, 3, 1,
|
|
21993
22018
|
)
|
|
22019
|
+
if self.app_obj.auto_delete_type_flag:
|
|
22020
|
+
combo.set_active(1)
|
|
22021
|
+
if not self.app_obj.auto_delete_flag:
|
|
22022
|
+
combo.set_sensitive(False)
|
|
21994
22023
|
|
|
21995
22024
|
checkbutton2 = self.add_checkbutton(grid,
|
|
21996
|
-
_(
|
|
21997
|
-
'Remove downloaded videos from the database (but don\'t' \
|
|
21998
|
-
+ ' delete files)',
|
|
21999
|
-
),
|
|
22025
|
+
_('Only downloaded videos from the database'),
|
|
22000
22026
|
self.app_obj.auto_remove_flag,
|
|
22001
22027
|
True, # Can be toggled by user
|
|
22002
|
-
0, 3,
|
|
22028
|
+
0, 3, 6, 1,
|
|
22003
22029
|
)
|
|
22004
22030
|
# (Signal connect appears below)
|
|
22005
22031
|
|
|
22006
22032
|
self.spinbutton2 = self.add_spinbutton(grid,
|
|
22007
22033
|
0, 999, 1, self.app_obj.auto_remove_days,
|
|
22008
|
-
|
|
22034
|
+
6, 3, 3, 1,
|
|
22009
22035
|
)
|
|
22010
22036
|
if not self.app_obj.auto_remove_flag:
|
|
22011
22037
|
self.spinbutton2.set_sensitive(False)
|
|
22012
22038
|
# (Signal connect appears below)
|
|
22013
22039
|
|
|
22014
|
-
self.
|
|
22015
|
-
|
|
22016
|
-
|
|
22040
|
+
combo2 = self.add_combo_with_data(grid,
|
|
22041
|
+
combo_list,
|
|
22042
|
+
None,
|
|
22043
|
+
9, 3, 3, 1,
|
|
22017
22044
|
)
|
|
22045
|
+
if self.app_obj.auto_remove_type_flag:
|
|
22046
|
+
combo2.set_active(1)
|
|
22047
|
+
if not self.app_obj.auto_remove_flag:
|
|
22048
|
+
combo2.set_sensitive(False)
|
|
22018
22049
|
|
|
22019
22050
|
checkbutton3 = self.add_checkbutton(grid,
|
|
22020
22051
|
_('Only delete/remove videos which have been watched'),
|
|
@@ -22030,20 +22061,20 @@ class SystemPrefWin(GenericPrefWin):
|
|
|
22030
22061
|
|
|
22031
22062
|
self.add_label(grid2,
|
|
22032
22063
|
_('Delete/remove files:'),
|
|
22033
|
-
0, 0,
|
|
22064
|
+
0, 0, 2, 1,
|
|
22034
22065
|
)
|
|
22035
22066
|
|
|
22036
22067
|
self.radiobutton = self.add_radiobutton(grid2,
|
|
22037
22068
|
None,
|
|
22038
22069
|
_('When the database is loaded'),
|
|
22039
|
-
|
|
22070
|
+
2, 0, 5, 1,
|
|
22040
22071
|
)
|
|
22041
22072
|
# (Signal connect appears below)
|
|
22042
22073
|
|
|
22043
22074
|
self.radiobutton2 = self.add_radiobutton(grid2,
|
|
22044
22075
|
self.radiobutton,
|
|
22045
22076
|
_('After every download operation'),
|
|
22046
|
-
|
|
22077
|
+
7, 0, 5, 1,
|
|
22047
22078
|
)
|
|
22048
22079
|
if self.app_obj.auto_delete_asap_flag:
|
|
22049
22080
|
self.radiobutton2.set_active(True)
|
|
@@ -22059,6 +22090,7 @@ class SystemPrefWin(GenericPrefWin):
|
|
|
22059
22090
|
'toggled',
|
|
22060
22091
|
self.on_auto_delete_videos_button_toggled,
|
|
22061
22092
|
self.spinbutton,
|
|
22093
|
+
combo,
|
|
22062
22094
|
checkbutton2,
|
|
22063
22095
|
checkbutton3,
|
|
22064
22096
|
self.radiobutton,
|
|
@@ -22068,10 +22100,12 @@ class SystemPrefWin(GenericPrefWin):
|
|
|
22068
22100
|
'value-changed',
|
|
22069
22101
|
self.on_auto_delete_videos_spinbutton_changed,
|
|
22070
22102
|
)
|
|
22103
|
+
combo.connect('changed', self.on_auto_delete_type_combo_changed)
|
|
22071
22104
|
checkbutton2.connect(
|
|
22072
22105
|
'toggled',
|
|
22073
22106
|
self.on_auto_remove_videos_button_toggled,
|
|
22074
22107
|
self.spinbutton2,
|
|
22108
|
+
combo2,
|
|
22075
22109
|
checkbutton,
|
|
22076
22110
|
checkbutton3,
|
|
22077
22111
|
self.radiobutton,
|
|
@@ -22081,6 +22115,7 @@ class SystemPrefWin(GenericPrefWin):
|
|
|
22081
22115
|
'value-changed',
|
|
22082
22116
|
self.on_auto_remove_videos_spinbutton_changed,
|
|
22083
22117
|
)
|
|
22118
|
+
combo2.connect('changed', self.on_auto_remove_type_combo_changed)
|
|
22084
22119
|
checkbutton3.connect('toggled', self.on_delete_watched_button_toggled)
|
|
22085
22120
|
self.radiobutton.connect('toggled', self.on_delete_asap_button_toggled)
|
|
22086
22121
|
|
|
@@ -28681,8 +28716,30 @@ class SystemPrefWin(GenericPrefWin):
|
|
|
28681
28716
|
self.app_obj.set_split_video_auto_delete_flag(False)
|
|
28682
28717
|
|
|
28683
28718
|
|
|
28684
|
-
def
|
|
28685
|
-
|
|
28719
|
+
def on_auto_delete_type_combo_changed(self, combo):
|
|
28720
|
+
|
|
28721
|
+
"""Called from a callback in self.setup_files_delete_tab().
|
|
28722
|
+
|
|
28723
|
+
Sets whether auto-deletion applies to videos downloaded or uploaded
|
|
28724
|
+
after a certain time.
|
|
28725
|
+
|
|
28726
|
+
Args:
|
|
28727
|
+
|
|
28728
|
+
combo (Gtk.ComboBox): The widget clicked
|
|
28729
|
+
|
|
28730
|
+
"""
|
|
28731
|
+
|
|
28732
|
+
tree_iter = combo.get_active_iter()
|
|
28733
|
+
model = combo.get_model()
|
|
28734
|
+
|
|
28735
|
+
if model[tree_iter][1] == 'upload':
|
|
28736
|
+
self.app_obj.set_auto_delete_type_flag(True)
|
|
28737
|
+
else:
|
|
28738
|
+
self.app_obj.set_auto_delete_type_flag(False)
|
|
28739
|
+
|
|
28740
|
+
|
|
28741
|
+
def on_auto_delete_videos_button_toggled(self, checkbutton, combo,
|
|
28742
|
+
spinbutton, checkbutton2, checkbutton3, radiobutton, radiobutton2):
|
|
28686
28743
|
|
|
28687
28744
|
"""Called from callback in self.setup_files_delete_tab().
|
|
28688
28745
|
|
|
@@ -28694,6 +28751,8 @@ class SystemPrefWin(GenericPrefWin):
|
|
|
28694
28751
|
|
|
28695
28752
|
spinbutton (Gtk.SpinButton): A widget to be (de)sensitised
|
|
28696
28753
|
|
|
28754
|
+
combo (Gtk.ComboBox): Other widgets to be (de)sensitised
|
|
28755
|
+
|
|
28697
28756
|
checkbutton2, checkbutton3 (Gtk.CheckButton): Other widgets to be
|
|
28698
28757
|
(de)sensitised
|
|
28699
28758
|
|
|
@@ -28706,6 +28765,7 @@ class SystemPrefWin(GenericPrefWin):
|
|
|
28706
28765
|
and not self.app_obj.auto_delete_flag:
|
|
28707
28766
|
self.app_obj.set_auto_delete_flag(True)
|
|
28708
28767
|
spinbutton.set_sensitive(True)
|
|
28768
|
+
combo.set_sensitive(True)
|
|
28709
28769
|
checkbutton3.set_sensitive(True)
|
|
28710
28770
|
radiobutton.set_sensitive(True)
|
|
28711
28771
|
radiobutton2.set_sensitive(True)
|
|
@@ -28714,6 +28774,7 @@ class SystemPrefWin(GenericPrefWin):
|
|
|
28714
28774
|
and self.app_obj.auto_delete_flag:
|
|
28715
28775
|
self.app_obj.set_auto_delete_flag(False)
|
|
28716
28776
|
spinbutton.set_sensitive(False)
|
|
28777
|
+
combo.set_sensitive(False)
|
|
28717
28778
|
if checkbutton2.get_active():
|
|
28718
28779
|
checkbutton3.set_sensitive(True)
|
|
28719
28780
|
radiobutton.set_sensitive(True)
|
|
@@ -28742,8 +28803,8 @@ class SystemPrefWin(GenericPrefWin):
|
|
|
28742
28803
|
self.app_obj.set_auto_delete_days(spinbutton.get_value())
|
|
28743
28804
|
|
|
28744
28805
|
|
|
28745
|
-
def on_auto_remove_videos_button_toggled(self, checkbutton,
|
|
28746
|
-
checkbutton2, checkbutton3, radiobutton, radiobutton2):
|
|
28806
|
+
def on_auto_remove_videos_button_toggled(self, checkbutton, combo,
|
|
28807
|
+
spinbutton, checkbutton2, checkbutton3, radiobutton, radiobutton2):
|
|
28747
28808
|
|
|
28748
28809
|
"""Called from callback in self.setup_files_delete_tab().
|
|
28749
28810
|
|
|
@@ -28755,6 +28816,8 @@ class SystemPrefWin(GenericPrefWin):
|
|
|
28755
28816
|
|
|
28756
28817
|
spinbutton (Gtk.SpinButton): A widget to be (de)sensitised
|
|
28757
28818
|
|
|
28819
|
+
combo (Gtk.ComboBox): Other widgets to be (de)sensitised
|
|
28820
|
+
|
|
28758
28821
|
checkbutton2, checkbutton3 (Gtk.CheckButton): Other widgets to be
|
|
28759
28822
|
(de)sensitised
|
|
28760
28823
|
|
|
@@ -28767,6 +28830,7 @@ class SystemPrefWin(GenericPrefWin):
|
|
|
28767
28830
|
and not self.app_obj.auto_remove_flag:
|
|
28768
28831
|
self.app_obj.set_auto_remove_flag(True)
|
|
28769
28832
|
spinbutton.set_sensitive(True)
|
|
28833
|
+
combo.set_sensitive(True)
|
|
28770
28834
|
checkbutton3.set_sensitive(True)
|
|
28771
28835
|
radiobutton.set_sensitive(True)
|
|
28772
28836
|
radiobutton2.set_sensitive(True)
|
|
@@ -28775,6 +28839,7 @@ class SystemPrefWin(GenericPrefWin):
|
|
|
28775
28839
|
and self.app_obj.auto_remove_flag:
|
|
28776
28840
|
self.app_obj.set_auto_remove_flag(False)
|
|
28777
28841
|
spinbutton.set_sensitive(False)
|
|
28842
|
+
combo.set_sensitive(False)
|
|
28778
28843
|
if checkbutton2.get_active():
|
|
28779
28844
|
checkbutton3.set_sensitive(True)
|
|
28780
28845
|
radiobutton.set_sensitive(True)
|
|
@@ -28824,6 +28889,28 @@ class SystemPrefWin(GenericPrefWin):
|
|
|
28824
28889
|
self.app_obj.set_split_video_auto_open_flag(False)
|
|
28825
28890
|
|
|
28826
28891
|
|
|
28892
|
+
def on_auto_remove_type_combo_changed(self, combo):
|
|
28893
|
+
|
|
28894
|
+
"""Called from a callback in self.setup_files_delete_tab().
|
|
28895
|
+
|
|
28896
|
+
Sets whether auto-removal applies to videos downloaded or uploaded
|
|
28897
|
+
after a certain time.
|
|
28898
|
+
|
|
28899
|
+
Args:
|
|
28900
|
+
|
|
28901
|
+
combo (Gtk.ComboBox): The widget clicked
|
|
28902
|
+
|
|
28903
|
+
"""
|
|
28904
|
+
|
|
28905
|
+
tree_iter = combo.get_active_iter()
|
|
28906
|
+
model = combo.get_model()
|
|
28907
|
+
|
|
28908
|
+
if model[tree_iter][1] == 'upload':
|
|
28909
|
+
self.app_obj.set_auto_remove_type_flag(True)
|
|
28910
|
+
else:
|
|
28911
|
+
self.app_obj.set_auto_remove_type_flag(False)
|
|
28912
|
+
|
|
28913
|
+
|
|
28827
28914
|
def on_auto_restart_button_toggled(self, checkbutton, spinbutton,
|
|
28828
28915
|
spinbutton2):
|
|
28829
28916
|
|
tartube/dialogue.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env python3
|
|
2
2
|
# -*- coding: utf-8 -*-
|
|
3
3
|
#
|
|
4
|
-
# Copyright (C) 2019-
|
|
4
|
+
# Copyright (C) 2019-2026 A S Lewis
|
|
5
5
|
#
|
|
6
6
|
# This program is free software; you can redistribute it and/or modify it under
|
|
7
7
|
# the terms of the GNU Lesser General Public License as published by the Free
|
tartube/downloads.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env python3
|
|
2
2
|
# -*- coding: utf-8 -*-
|
|
3
3
|
#
|
|
4
|
-
# Copyright (C) 2019-
|
|
4
|
+
# Copyright (C) 2019-2026 A S Lewis
|
|
5
5
|
#
|
|
6
6
|
# This program is free software; you can redistribute it and/or modify it under
|
|
7
7
|
# the terms of the GNU Lesser General Public License as published by the Free
|
|
@@ -4544,6 +4544,13 @@ class VideoDownloader(object):
|
|
|
4544
4544
|
if 'chapters' in json_dict:
|
|
4545
4545
|
chapter_list = json_dict['chapters']
|
|
4546
4546
|
|
|
4547
|
+
if 'uploader' in json_dict:
|
|
4548
|
+
author = json_dict['uploader']
|
|
4549
|
+
elif 'channel' in json_dict:
|
|
4550
|
+
author = json_dict['channel']
|
|
4551
|
+
else:
|
|
4552
|
+
author = None
|
|
4553
|
+
|
|
4547
4554
|
if 'description' in json_dict:
|
|
4548
4555
|
descrip = json_dict['description']
|
|
4549
4556
|
else:
|
|
@@ -4729,6 +4736,9 @@ class VideoDownloader(object):
|
|
|
4729
4736
|
chapter_list,
|
|
4730
4737
|
)
|
|
4731
4738
|
|
|
4739
|
+
if author is not None:
|
|
4740
|
+
video_obj.set_author(author)
|
|
4741
|
+
|
|
4732
4742
|
if descrip is not None:
|
|
4733
4743
|
video_obj.set_video_descrip(
|
|
4734
4744
|
app_obj,
|
|
@@ -4863,6 +4873,9 @@ class VideoDownloader(object):
|
|
|
4863
4873
|
chapter_list,
|
|
4864
4874
|
)
|
|
4865
4875
|
|
|
4876
|
+
if not video_obj.author and author is not None:
|
|
4877
|
+
video_obj.set_author(author)
|
|
4878
|
+
|
|
4866
4879
|
if not video_obj.descrip and descrip is not None:
|
|
4867
4880
|
video_obj.set_video_descrip(
|
|
4868
4881
|
app_obj,
|
tartube/ffmpeg_tartube.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env python3
|
|
2
2
|
# -*- coding: utf-8 -*-
|
|
3
3
|
#
|
|
4
|
-
# Copyright (C) 2019-
|
|
4
|
+
# Copyright (C) 2019-2026 A S Lewis
|
|
5
5
|
#
|
|
6
6
|
# This program is free software; you can redistribute it and/or modify it under
|
|
7
7
|
# the terms of the GNU Lesser General Public License as published by the Free
|
tartube/files.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env python3
|
|
2
2
|
# -*- coding: utf-8 -*-
|
|
3
3
|
#
|
|
4
|
-
# Copyright (C) 2019-
|
|
4
|
+
# Copyright (C) 2019-2026 A S Lewis
|
|
5
5
|
#
|
|
6
6
|
# This program is free software; you can redistribute it and/or modify it under
|
|
7
7
|
# the terms of the GNU Lesser General Public License as published by the Free
|
tartube/formats.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env python3
|
|
2
2
|
# -*- coding: utf-8 -*-
|
|
3
3
|
#
|
|
4
|
-
# Copyright (C) 2019-
|
|
4
|
+
# Copyright (C) 2019-2026 A S Lewis
|
|
5
5
|
#
|
|
6
6
|
# This program is free software; you can redistribute it and/or modify it under
|
|
7
7
|
# the terms of the GNU Lesser General Public License as published by the Free
|
|
@@ -991,6 +991,7 @@ SMALL_ICON_DICT = {
|
|
|
991
991
|
'live_old_no_file_small': 'live_old_no_file.png',
|
|
992
992
|
'live_wait_small': 'live_wait.png',
|
|
993
993
|
'no_file_small': 'no_file.png',
|
|
994
|
+
'regex_small': 'regex.png',
|
|
994
995
|
'slice_small': 'slice.png',
|
|
995
996
|
'split_file_small': 'split_file.png',
|
|
996
997
|
'stamp_small': 'stamp.png',
|
|
Binary file
|
tartube/info.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env python3
|
|
2
2
|
# -*- coding: utf-8 -*-
|
|
3
3
|
#
|
|
4
|
-
# Copyright (C) 2019-
|
|
4
|
+
# Copyright (C) 2019-2026 A S Lewis
|
|
5
5
|
#
|
|
6
6
|
# This program is free software; you can redistribute it and/or modify it under
|
|
7
7
|
# the terms of the GNU Lesser General Public License as published by the Free
|