Ivars преди 6 години
родител
ревизия
b6206fd954
променени са 3 файла, в които са добавени 417 реда и са изтрити 379 реда
  1. 72
    43
      PlayStream.py
  2. 342
    335
      PlayStream.wpr
  3. 3
    1
      changelog.md

+ 72
- 43
PlayStream.py Целия файл

@@ -6,7 +6,7 @@
6 6
 # Used fragments of code from enigma2-plugin-tv3play by Taapat (https://github.com/Taapat/enigma2-plugin-tv3play)
7 7
 #
8 8
 
9
-__version__ = "0.7s"
9
+__version__ = "0.7t"
10 10
 __id__ = "playstream"
11 11
 __title__ = "PlayStream"
12 12
 __author__ = "ivars777@gmail.com"
@@ -148,7 +148,10 @@ class MainScreen(Screen):
148 148
 
149 149
         reload(ContentSources)
150 150
         sources_directory = os.path.join(cur_directory, "content", "sources")
151
-        print "**** streams_file_remote=", config.plugins.playstream.use_streams_file_remote.value
151
+        print "**** use_streams_file_remote=", config.plugins.playstream.use_streams_file_remote.value
152
+        print "**** streams_file_remote=", config.plugins.playstream.streams_file_remote.value
153
+        print "**** streams_file=", config.plugins.playstream.streams_file.value
154
+        print "**** sources_directory=", sources_directory
152 155
         if config.plugins.playstream.use_streams_file_remote.value:
153 156
             try:
154 157
                 self.sources = ContentSources.ContentSources(sources_directory, config.plugins.playstream.streams_file_remote.value)
@@ -166,6 +169,11 @@ class MainScreen(Screen):
166 169
                 print "Local stream file opened"
167 170
             except Exception as e:
168 171
                 self.msg2(e.message)
172
+                self.cancel()
173
+
174
+        if "config" not in self.sources.plugins:
175
+            self.msg2("No streams config file")
176
+            self.cancel()
169 177
 
170 178
         self.config = self.sources.plugins["config"]
171 179
         self.cur_menu = ("Home","config::home","","Sākums") #
@@ -198,7 +206,7 @@ class MainScreen(Screen):
198 206
 
199 207
     def selection_changed(self):
200 208
         current = self["list"].getCurrent()
201
-        print "[PlayStream] SelectionChanged: current=",current
209
+        print "[PlayStream] SelectionChanged: current=",current[1]
202 210
         if not current: return
203 211
         self["cur"].setText(current[3]) if current[3] else self["cur"].setText("")
204 212
         if current[2]:
@@ -293,7 +301,7 @@ class MainScreen(Screen):
293 301
         if not data:
294 302
             return
295 303
 
296
-        elif self.sources.is_video(current[1]):
304
+        if self.sources.is_video(current[1]):
297 305
             if ContentSources.stream_type(current[1]):
298 306
                 stream = util.item()
299 307
                 stream["url"] = current[1]
@@ -326,6 +334,7 @@ class MainScreen(Screen):
326 334
         elif current[1] == "back":
327 335
             cur_menu_old = self.cur_menu
328 336
             self.cur_menu = self.history.pop()
337
+            self.update_streams_file()
329 338
             new_content = self.sources.get_content(self.cur_menu[1])
330 339
             try:
331 340
                 index = zip(*new_content)[1].index(cur_menu_old[1])
@@ -343,8 +352,35 @@ class MainScreen(Screen):
343 352
                 #current = (current[0],current[1].format(a),current[2],current[3])
344 353
                 #self.get_content(current)
345 354
             else:
346
-                self.get_content(current)
355
+                self.history.append(self.cur_menu)
356
+                self.update_content(current)
357
+
358
+    def cb_input(self,value):
359
+        if not value:
360
+            return
361
+        current = self.current
362
+        current = (current[0],current[1].format(value),current[2],current[3])
363
+        self.history.append(self.cur_menu)
364
+        self.update_content(current)
365
+
366
+    def update_content(self,current=None):
367
+        if current:
368
+            self.cur_menu = current
369
+        self.update_streams_file()
370
+        try:
371
+            new_content = self.sources.get_content(self.cur_menu[1])
372
+        except Exception,e:
373
+            self.cur_menu = self.history.pop()
374
+            traceback.print_exc()
375
+            self.session. open(MessageBox, "Error - %s"%str(e) , MessageBox.TYPE_INFO)
376
+            return
377
+        self.setTitle2(self.cur_menu[0] + " (" + self.cur_menu[1].split("::")[0]+")")
378
+        self.show_content(new_content)
347 379
 
380
+    def show_content(self,content,index=0):
381
+        self["list"].setList(content)
382
+        self["list"].setIndex(index)
383
+        self.selection_changed()
348 384
 
349 385
     def show_info(self):
350 386
         self.current = self["list"].getCurrent()
@@ -363,26 +399,6 @@ class MainScreen(Screen):
363 399
             nfo = {"movie": {"title": self.current[0], "thumb": self.current[2], "plot": self.current[3]}}
364 400
         self.session.open(StreamInfo, nfo)
365 401
 
366
-    def cb_input(self,value):
367
-        if not value:
368
-            return
369
-        current = self.current
370
-        current = (current[0],current[1].format(value),current[2],current[3])
371
-        self.get_content(current)
372
-
373
-    def get_content(self,current):
374
-            self.history.append(self.cur_menu)
375
-            self.cur_menu = current
376
-            try:
377
-                new_content = self.sources.get_content(self.cur_menu[1])
378
-            except Exception,e:
379
-                self.cur_menu = self.history.pop()
380
-                traceback.print_exc()
381
-                self.session. open(MessageBox, "Error - %s"%str(e) , MessageBox.TYPE_INFO)
382
-                return
383
-            self.setTitle2(self.cur_menu[0] + " (" + self.cur_menu[1].split("::")[0]+")")
384
-            self.show_content(new_content)
385
-
386 402
     def back(self):
387 403
         if self.history:
388 404
             self["list"].setIndex(0)
@@ -390,10 +406,11 @@ class MainScreen(Screen):
390 406
         else:
391 407
             self.cancel()
392 408
 
393
-    def show_content(self,content,index=0):
394
-        self["list"].setList(content)
395
-        self["list"].setIndex(index)
396
-        self.selection_changed()
409
+    def update_streams_file(self):
410
+        if config.plugins.playstream.use_streams_file_remote.value:
411
+            self.config.set_streams_file(config.plugins.playstream.streams_file_remote.value)
412
+        else:
413
+            self.config.set_streams_file(config.plugins.playstream.streams_file.value)
397 414
 
398 415
     def cancel(self):
399 416
         print "Exiting PlayStream"
@@ -471,13 +488,14 @@ class MainScreen(Screen):
471 488
             #print lst
472 489
             self.config.del_item(lst,self.index)
473 490
             self.config.write_streams()
491
+            self.update_content()
474 492
             txt = "'%s' deleted from favourite stream list '%s'"%(self.current[0],lst)
475 493
             self.session.open(MessageBox, txt, MessageBox.TYPE_INFO,timeout=5)
476 494
 
477 495
         elif answer[1] == "move":
478 496
             lst = self.cur_menu[1].replace("config::","")
479 497
             items = self.config.get_list_items(lst)
480
-            self.session.openWithCallback(self.cb_move, ChoiceBox, title="Move berore selected item",list = items)
498
+            self.session.openWithCallback(self.cb_move, ChoiceBox, title="Move before selected item",list = items)
481 499
             #self.session.open(MessageBox, "Not yet implemented!", MessageBox.TYPE_INFO)
482 500
             #self.config.write_streams()
483 501
             #txt = "'%s' deleted from favourite stream list '%s'"%(self.current[0],lst)
@@ -513,8 +531,10 @@ class MainScreen(Screen):
513 531
             #download_dir = config.plugins.playstream.download_dir.value
514 532
         title = re.sub("\[.+?\]","", util.make_fname(current[0])).strip()
515 533
         download_dir2 = os.path.join(download_dir, title)
534
+
516 535
         if not self.sources.is_video(current[1]):
517 536
             #self.msg("Can not download listst (yet) - %s"%(current[1]))
537
+            self.update_streams_file()
518 538
             n = 0
519 539
             for current2 in self.sources.get_content(current[1]):
520 540
                 if self.sources.is_video(current2[1]):
@@ -680,7 +700,6 @@ class MainScreen(Screen):
680 700
             self.msg("Unkown stream type - %s!"%stream_type)
681 701
             return False
682 702
 
683
-
684 703
     def cb_rename(self,value):
685 704
         if not value:
686 705
             return
@@ -692,8 +711,9 @@ class MainScreen(Screen):
692 711
         item2 = tuple(item2)
693 712
         self.config.replace_item(lst,item2,pos)
694 713
         self.config.write_streams()
695
-        txt = "'%s' renamed to '%s'"%(self.current[0],value)
696
-        self.session.open(MessageBox, txt, MessageBox.TYPE_INFO,timeout=5)
714
+        self.update_content()
715
+        #txt = "'%s' renamed to '%s'"%(self.current[0],value)
716
+        #self.session.open(MessageBox, txt, MessageBox.TYPE_INFO,timeout=5)
697 717
 
698 718
     def cb_favorites(self,answer):
699 719
         print "cb_favorites",answer,self.current
@@ -708,15 +728,21 @@ class MainScreen(Screen):
708 728
 
709 729
     def cb_move(self,answer):
710 730
         print "cb_move",answer,self.current
711
-        self.session.open(MessageBox, "Not yet implemented!", MessageBox.TYPE_INFO)
712
-        return
713
-
714
-        #if not answer:
715
-        #    return
716
-        #value = answer[1]
717
-        #self.config.add_item(value,self.current)
718
-        #self.config.write_streams()
719
-        #txt = "'%s' added to favourite stream list '%s'"%(self.current[0],value)
731
+        if not answer:
732
+            return
733
+        answer[1]
734
+        lst = self.cur_menu[1].replace("config::","")
735
+        pos = self.index
736
+        items = self.config.get_list_items(lst)
737
+        for pos2, it in enumerate(items):
738
+            if it[1] == answer[1]:
739
+                break
740
+        else:
741
+            pos2 = None
742
+        self.config.move_item(lst, pos, pos2)
743
+        self.config.write_streams()
744
+        self.update_content()
745
+        #txt = "Item moved from position %s to %s'"%(pos,pos2)
720 746
         #self.session.open(MessageBox, txt, MessageBox.TYPE_INFO,timeout=3)
721 747
         #self.session.openWithCallback(self.callMyMsg, MessageBox, _("Do you want to exit the plugin?"), MessageBox.TYPE_INFO)
722 748
 
@@ -1027,7 +1053,9 @@ class PSPlayer(MoviePlayer):
1027 1053
 #####################################################################################################################
1028 1054
 class ConfigScreen(ConfigListScreen,Screen):
1029 1055
 
1030
-    def __init__(self, session, args = 0):
1056
+    def __init__(self, session, main):
1057
+        #print main
1058
+        self.main = main
1031 1059
         self.session = session
1032 1060
         #self.setup_title = "Options"
1033 1061
         Screen.__init__(self, session)
@@ -1099,6 +1127,7 @@ class ConfigScreen(ConfigListScreen,Screen):
1099 1127
         print "saving"
1100 1128
         self.saveAll()
1101 1129
         self.close(True,self.session)
1130
+        self.main.update_content()
1102 1131
 
1103 1132
     def cancel(self):
1104 1133
         #print "cancel"

+ 342
- 335
PlayStream.wpr Целия файл

@@ -76,7 +76,11 @@ proj.launch-config = {loc('../../$pylib/main6.py'): ('project',
76 76
         (u'http://walterebert.com/playground/video/hls/ts/480x270.m3u8',
77 77
          ''))}
78 78
 [user attributes]
79
-debug.breakpoints = {loc('gstreamer/player-minimal.py'): {12: (0,
79
+debug.breakpoints = {loc('content/sources/config.py'): {171L: (0,
80
+        None,
81
+        1,
82
+        0)},
83
+                     loc('gstreamer/player-minimal.py'): {12: (0,
80 84
         None,
81 85
         1,
82 86
         0)},
@@ -5121,8 +5125,8 @@ debug.var-col-widths = [0.3789319678127286,
5121 5125
 edit.bookmarks = {u'InfoScreen': (loc('PlayStream.py'),
5122 5126
                                   {'attrib-starts': [('InfoScreen',
5123 5127
         1100)],
5124
-                                   'first-line': 696L,
5125
-                                   'sel-line': 1172L})}
5128
+                                   'first-line': 725L,
5129
+                                   'sel-line': 1201L})}
5126 5130
 edit.file-encoding = {loc('streams.cfg'): 'utf_8'}
5127 5131
 guimgr.overall-gui-state = {'windowing-policy': 'combined-window',
5128 5132
                             'windows': [{'name': 'CLLIF0zyp30ULG6MKhIRp1Beg6'\
@@ -5132,9 +5136,9 @@ guimgr.overall-gui-state = {'windowing-policy': 'combined-window',
5132 5136
         'view': {'area': 'tall',
5133 5137
                  'constraint': None,
5134 5138
                  'current_pages': [1,
5135
-                                   1],
5139
+                                   0],
5136 5140
                  'full-screen': False,
5137
-                 'notebook_display': 'tabs only',
5141
+                 'notebook_display': 'normal',
5138 5142
                  'notebook_percent': 0.23781998348472333,
5139 5143
                  'override_title': None,
5140 5144
                  'pagelist': [('snippets',
@@ -5732,6 +5736,10 @@ guimgr.overall-gui-state = {'windowing-policy': 'combined-window',
5732 5736
         u'Modules': True,
5733 5737
         u'Public': True,
5734 5738
         u'Variables': False}}),
5739
+                              ('refactoring',
5740
+                               'tall',
5741
+                               0,
5742
+                               {}),
5735 5743
                               ('source-assistant',
5736 5744
                                'tall',
5737 5745
                                2,
@@ -5747,7 +5755,7 @@ guimgr.overall-gui-state = {'windowing-policy': 'combined-window',
5747 5755
                  'primary_view_state': {'area': 'wide',
5748 5756
         'constraint': None,
5749 5757
         'current_pages': [1,
5750
-                          3],
5758
+                          0],
5751 5759
         'notebook_display': 'normal',
5752 5760
         'notebook_percent': 0.42105263157894735,
5753 5761
         'override_title': None,
@@ -5797,7 +5805,7 @@ guimgr.overall-gui-state = {'windowing-policy': 'combined-window',
5797 5805
                                        'fRegexFlags': 46,
5798 5806
                                        'fReplaceText': u'cb_download_dir',
5799 5807
                                        'fReverse': False,
5800
-                                       'fSearchText': u'streams_file_remote',
5808
+                                       'fSearchText': u'print main',
5801 5809
                                        'fStartPos': 0,
5802 5810
                                        'fStyle': 'text',
5803 5811
                                        'fWholeWords': False,
@@ -5910,267 +5918,268 @@ guimgr.overall-gui-state = {'windowing-policy': 'combined-window',
5910 5918
         'primary_view_state': {'editor_states': ({'bookmarks': ([[loc('PlayStream.py'),
5911 5919
         {'attrib-starts': [('MainScreen',
5912 5920
                             93),
5913
-                           ('MainScreen.cb_item_menu',
5914
-                            441)],
5915
-         'first-line': 485L,
5916
-         'folded-linenos': [334L],
5917
-         'sel-line': 474L,
5918
-         'sel-line-start': 20942L,
5919
-         'selection_end': 20949L,
5920
-         'selection_start': 20949L,
5921
+                           ('MainScreen.layout_finished',
5922
+                            133)],
5923
+         'first-line': 149L,
5924
+         'folded-linenos': [303L],
5925
+         'sel-line': 159L,
5926
+         'sel-line-start': 7486L,
5927
+         'selection_end': 7506L,
5928
+         'selection_start': 7506L,
5921 5929
          'zoom': 0L},
5922
-        1520729521.3],
5930
+        1520765029.276],
5923 5931
         [loc('PlayStream.py'),
5924
-         {'attrib-starts': [('MainScreen',
5925
-                             93),
5926
-                            ('MainScreen.download_prepare',
5927
-                             504)],
5928
-          'first-line': 492L,
5929
-          'folded-linenos': [334L],
5930
-          'sel-line': 508L,
5931
-          'sel-line-start': 22774L,
5932
-          'selection_end': 22774L,
5933
-          'selection_start': 22774L,
5932
+         {'attrib-starts': [('ConfigScreen',
5933
+                             1053),
5934
+                            ('ConfigScreen.select_tmp_dir',
5935
+                             1115)],
5936
+          'first-line': 1094L,
5937
+          'folded-linenos': [303L],
5938
+          'sel-line': 1120L,
5939
+          'sel-line-start': 48248L,
5940
+          'selection_end': 48279L,
5941
+          'selection_start': 48279L,
5934 5942
           'zoom': 0L},
5935
-         1520729680.381],
5943
+         1520765145.141],
5936 5944
         [loc('PlayStream.py'),
5937
-         {'attrib-starts': [('MainScreen',
5938
-                             93),
5939
-                            ('MainScreen.cb_move',
5940
-                             704)],
5941
-          'first-line': 701L,
5942
-          'folded-linenos': [334L],
5943
-          'sel-line': 712L,
5944
-          'sel-line-start': 31243L,
5945
-          'selection_end': 31253L,
5946
-          'selection_start': 31253L,
5945
+         {'attrib-starts': [('ConfigScreen',
5946
+                             1053)],
5947
+          'first-line': 1044L,
5948
+          'folded-linenos': [303L],
5949
+          'sel-line': 1053L,
5950
+          'sel-line-start': 44495L,
5951
+          'selection_end': 44513L,
5952
+          'selection_start': 44501L,
5947 5953
           'zoom': 0L},
5948
-         1520730166.753],
5954
+         1520765193.281],
5949 5955
         [loc('PlayStream.py'),
5950 5956
          {'attrib-starts': [('MainScreen',
5951 5957
                              93),
5952
-                            ('MainScreen.layout_finished',
5953
-                             133)],
5954
-          'first-line': 144L,
5955
-          'folded-linenos': [334L],
5956
-          'sel-line': 150L,
5957
-          'sel-line-start': 6838L,
5958
-          'selection_end': 6849L,
5959
-          'selection_start': 6849L,
5958
+                            ('MainScreen.config_screen',
5959
+                             748)],
5960
+          'first-line': 744L,
5961
+          'folded-linenos': [303L],
5962
+          'sel-line': 749L,
5963
+          'sel-line-start': 32971L,
5964
+          'selection_end': 33010L,
5965
+          'selection_start': 33010L,
5960 5966
           'zoom': 0L},
5961
-         1520730504.623],
5967
+         1520765228.96],
5962 5968
         [loc('PlayStream.py'),
5963
-         {'attrib-starts': [('MainScreen',
5964
-                             93),
5965
-                            ('MainScreen.layout_finished',
5966
-                             133)],
5967
-          'first-line': 144L,
5968
-          'folded-linenos': [334L],
5969
-          'sel-line': 156L,
5970
-          'sel-line-start': 7225L,
5971
-          'selection_end': 7253L,
5972
-          'selection_start': 7245L,
5969
+         {'attrib-starts': [('ConfigScreen',
5970
+                             1053),
5971
+                            ('ConfigScreen.__init__',
5972
+                             1055)],
5973
+          'first-line': 1041L,
5974
+          'folded-linenos': [303L],
5975
+          'sel-line': 1056L,
5976
+          'sel-line-start': 44580L,
5977
+          'selection_end': 44598L,
5978
+          'selection_start': 44598L,
5973 5979
           'zoom': 0L},
5974
-         1520730506.911],
5980
+         1520765380.458],
5975 5981
         [loc('PlayStream.py'),
5976
-         {'attrib-starts': [('MainScreen',
5977
-                             93),
5978
-                            ('MainScreen.layout_finished',
5979
-                             133)],
5980
-          'first-line': 149L,
5981
-          'folded-linenos': [334L],
5982
-          'sel-line': 158L,
5983
-          'sel-line-start': 7352L,
5984
-          'selection_end': 7380L,
5985
-          'selection_start': 7372L,
5982
+         {'attrib-starts': [('CustomContextFactory',
5983
+                             83),
5984
+                            ('CustomContextFactory.getContext',
5985
+                             86)],
5986
+          'first-line': 84L,
5987
+          'folded-linenos': [303L],
5988
+          'sel-line': 88L,
5989
+          'sel-line-start': 4232L,
5990
+          'selection_end': 4254L,
5991
+          'selection_start': 4254L,
5986 5992
           'zoom': 0L},
5987
-         1520730508.241],
5993
+         1520765386.18],
5988 5994
         [loc('PlayStream.py'),
5989 5995
          {'attrib-starts': [('MainScreen',
5990 5996
                              93),
5991
-                            ('MainScreen.layout_finished',
5992
-                             133)],
5993
-          'first-line': 154L,
5994
-          'folded-linenos': [334L],
5995
-          'sel-line': 163L,
5996
-          'sel-line-start': 7581L,
5997
-          'selection_end': 7605L,
5998
-          'selection_start': 7597L,
5997
+                            ('MainScreen.ok',
5998
+                             293)],
5999
+          'first-line': 295L,
6000
+          'folded-linenos': [303L],
6001
+          'sel-line': 336L,
6002
+          'sel-line-start': 15150L,
6003
+          'selection_end': 15186L,
6004
+          'selection_start': 15167L,
5999 6005
           'zoom': 0L},
6000
-         1520730508.806],
6006
+         1520765398.104],
6001 6007
         [loc('PlayStream.py'),
6002 6008
          {'attrib-starts': [('MainScreen',
6003 6009
                              93),
6004
-                            ('MainScreen.ok',
6005
-                             281)],
6006
-          'first-line': 303L,
6007
-          'folded-linenos': [334L],
6008
-          'sel-line': 315L,
6009
-          'sel-line-start': 14155L,
6010
-          'selection_end': 14183L,
6011
-          'selection_start': 14175L,
6010
+                            ('MainScreen.update_content',
6011
+                             365)],
6012
+          'first-line': 356L,
6013
+          'folded-linenos': [303L],
6014
+          'sel-line': 368L,
6015
+          'sel-line-start': 16403L,
6016
+          'selection_end': 16435L,
6017
+          'selection_start': 16416L,
6012 6018
           'zoom': 0L},
6013
-         1520730509.756],
6019
+         1520765403.927],
6014 6020
         [loc('PlayStream.py'),
6015 6021
          {'attrib-starts': [('MainScreen',
6016 6022
                              93),
6017
-                            ('MainScreen.ok',
6018
-                             281)],
6019
-          'first-line': 309L,
6020
-          'folded-linenos': [334L],
6021
-          'sel-line': 318L,
6022
-          'sel-line-start': 14267L,
6023
-          'selection_end': 14291L,
6024
-          'selection_start': 14283L,
6023
+                            ('MainScreen.update_streams_file',
6024
+                             408)],
6025
+          'first-line': 396L,
6026
+          'folded-linenos': [303L],
6027
+          'sel-line': 408L,
6028
+          'sel-line-start': 17884L,
6029
+          'selection_end': 17911L,
6030
+          'selection_start': 17892L,
6025 6031
           'zoom': 0L},
6026
-         1520730510.98],
6032
+         1520765419.863],
6027 6033
         [loc('PlayStream.py'),
6028 6034
          {'attrib-starts': [('MainScreen',
6029 6035
                              93),
6030 6036
                             ('MainScreen.download_prepare',
6031
-                             504)],
6032
-          'first-line': 500L,
6033
-          'folded-linenos': [334L],
6034
-          'sel-line': 512L,
6035
-          'sel-line-start': 23013L,
6036
-          'selection_end': 23034L,
6037
-          'selection_start': 23026L,
6037
+                             526)],
6038
+          'first-line': 524L,
6039
+          'folded-linenos': [303L],
6040
+          'sel-line': 536L,
6041
+          'sel-line-start': 24207L,
6042
+          'selection_end': 24243L,
6043
+          'selection_start': 24224L,
6038 6044
           'zoom': 0L},
6039
-         1520730513.813],
6045
+         1520765420.385],
6040 6046
         [loc('PlayStream.py'),
6041 6047
          {'attrib-starts': [('MainScreen',
6042 6048
                              93),
6043
-                            ('MainScreen.download_prepare',
6044
-                             504)],
6045
-          'first-line': 507L,
6046
-          'folded-linenos': [334L],
6047
-          'sel-line': 519L,
6048
-          'sel-line-start': 23336L,
6049
-          'selection_end': 23360L,
6050
-          'selection_start': 23352L,
6049
+                            ('MainScreen.ok',
6050
+                             293)],
6051
+          'first-line': 302L,
6052
+          'folded-linenos': [303L],
6053
+          'sel-line': 336L,
6054
+          'sel-line-start': 15150L,
6055
+          'selection_end': 15186L,
6056
+          'selection_start': 15167L,
6051 6057
           'zoom': 0L},
6052
-         1520730517.47],
6058
+         1520765422.267],
6053 6059
         [loc('PlayStream.py'),
6054 6060
          {'attrib-starts': [('MainScreen',
6055 6061
                              93),
6056
-                            ('MainScreen.download_prepare',
6057
-                             504)],
6058
-          'first-line': 512L,
6059
-          'folded-linenos': [334L],
6060
-          'sel-line': 521L,
6061
-          'sel-line-start': 23433L,
6062
-          'selection_end': 23457L,
6063
-          'selection_start': 23449L,
6062
+                            ('MainScreen.update_content',
6063
+                             365)],
6064
+          'first-line': 356L,
6065
+          'folded-linenos': [303L],
6066
+          'sel-line': 368L,
6067
+          'sel-line-start': 16403L,
6068
+          'selection_end': 16435L,
6069
+          'selection_start': 16416L,
6064 6070
           'zoom': 0L},
6065
-         1520730518.156],
6071
+         1520765423.184],
6066 6072
         [loc('PlayStream.py'),
6067 6073
          {'attrib-starts': [('MainScreen',
6068 6074
                              93),
6069
-                            ('MainScreen.download_prepare',
6070
-                             504)],
6071
-          'first-line': 517L,
6072
-          'folded-linenos': [334L],
6073
-          'sel-line': 526L,
6074
-          'sel-line-start': 23643L,
6075
-          'selection_end': 23667L,
6076
-          'selection_start': 23659L,
6075
+                            ('MainScreen.back',
6076
+                             401)],
6077
+          'first-line': 396L,
6078
+          'folded-linenos': [303L],
6079
+          'sel-line': 401L,
6080
+          'sel-line-start': 17739L,
6081
+          'selection_end': 17758L,
6082
+          'selection_start': 17758L,
6077 6083
           'zoom': 0L},
6078
-         1520730523.631],
6084
+         1520765726.449],
6079 6085
         [loc('PlayStream.py'),
6080 6086
          {'attrib-starts': [('MainScreen',
6081 6087
                              93),
6082
-                            ('MainScreen.video_download_stop',
6083
-                             730)],
6084
-          'first-line': 720L,
6085
-          'folded-linenos': [334L],
6086
-          'sel-line': 732L,
6087
-          'sel-line-start': 32127L,
6088
-          'selection_end': 32144L,
6089
-          'selection_start': 32135L,
6088
+                            ('MainScreen.cancel',
6089
+                             414)],
6090
+          'first-line': 403L,
6091
+          'folded-linenos': [303L],
6092
+          'sel-line': 415L,
6093
+          'sel-line-start': 18205L,
6094
+          'selection_end': 18224L,
6095
+          'selection_start': 18222L,
6090 6096
           'zoom': 0L},
6091
-         1520730526.858],
6097
+         1520765727.176],
6092 6098
         [loc('PlayStream.py'),
6093 6099
          {'attrib-starts': [('MainScreen',
6094 6100
                              93),
6095
-                            ('MainScreen.layout_finished',
6096
-                             133)],
6097
-          'first-line': 151L,
6098
-          'folded-linenos': [334L],
6099
-          'sel-line': 157L,
6100
-          'sel-line-start': 7314L,
6101
-          'selection_end': 7329L,
6102
-          'selection_start': 7329L,
6101
+                            ('MainScreen.cb_move',
6102
+                             728)],
6103
+          'first-line': 725L,
6104
+          'folded-linenos': [303L],
6105
+          'sel-line': 736L,
6106
+          'sel-line-start': 32432L,
6107
+          'selection_end': 32452L,
6108
+          'selection_start': 32452L,
6103 6109
           'zoom': 0L},
6104
-         1520730990.901],
6110
+         1520765751.411],
6105 6111
         [loc('PlayStream.py'),
6106
-         {'attrib-starts': [('ConfigScreen',
6107
-                             1023),
6108
-                            ('ConfigScreen.__init__',
6109
-                             1025)],
6110
-          'first-line': 1026L,
6111
-          'folded-linenos': [334L],
6112
-          'sel-line': 1038L,
6113
-          'sel-line-start': 44109L,
6114
-          'selection_end': 44218L,
6115
-          'selection_start': 44199L,
6112
+         {'attrib-starts': [('MainScreen',
6113
+                             93),
6114
+                            ('MainScreen.options_screen',
6115
+                             751)],
6116
+          'first-line': 742L,
6117
+          'folded-linenos': [303L],
6118
+          'sel-line': 754L,
6119
+          'sel-line-start': 33152L,
6120
+          'selection_end': 33164L,
6121
+          'selection_start': 33160L,
6116 6122
           'zoom': 0L},
6117
-         1520730995.581],
6123
+         1520765753.387],
6118 6124
         [loc('PlayStream.py'),
6119 6125
          {'attrib-starts': [('ConfigScreen',
6120
-                             1023),
6121
-                            ('ConfigScreen.__init__',
6122
-                             1025)],
6123
-          'first-line': 1030L,
6124
-          'folded-linenos': [334L],
6125
-          'sel-line': 1039L,
6126
-          'sel-line-start': 44221L,
6127
-          'selection_end': 44339L,
6128
-          'selection_start': 44320L,
6129
-          'zoom': 0L},
6130
-         1520730997.006],
6131
-        [loc('PlayStream.py'),
6132
-         {'attrib-starts': [],
6133
-          'first-line': 75L,
6134
-          'folded-linenos': [334L],
6135
-          'sel-line': 80L,
6136
-          'sel-line-start': 3841L,
6137
-          'selection_end': 3886L,
6138
-          'selection_start': 3867L,
6126
+                             1053),
6127
+                            ('ConfigScreen.select_tmp_dir',
6128
+                             1116)],
6129
+          'first-line': 1116L,
6130
+          'folded-linenos': [303L],
6131
+          'sel-line': 1122L,
6132
+          'sel-line-start': 48315L,
6133
+          'selection_end': 48317L,
6134
+          'selection_start': 48317L,
6139 6135
           'zoom': 0L},
6140
-         1520730997.75],
6136
+         1520765917.643],
6141 6137
         [loc('PlayStream.py'),
6142
-         {'attrib-starts': [],
6143
-          'first-line': 75L,
6144
-          'folded-linenos': [334L],
6145
-          'sel-line': 81L,
6146
-          'sel-line-start': 3952L,
6147
-          'selection_end': 4001L,
6148
-          'selection_start': 3982L,
6138
+         {'attrib-starts': [('MainScreen',
6139
+                             93),
6140
+                            ('MainScreen.start_decode',
6141
+                             245)],
6142
+          'first-line': 239L,
6143
+          'folded-linenos': [303L],
6144
+          'sel-line': 248L,
6145
+          'sel-line-start': 11149L,
6146
+          'selection_end': 11149L,
6147
+          'selection_start': 11149L,
6149 6148
           'zoom': 0L},
6150
-         1520730998.238],
6149
+         1520765929.925],
6151 6150
         [loc('PlayStream.py'),
6152 6151
          {'attrib-starts': [('MainScreen',
6153 6152
                              93),
6154
-                            ('MainScreen.layout_finished',
6155
-                             133)],
6156
-          'first-line': 138L,
6157
-          'folded-linenos': [334L],
6158
-          'sel-line': 150L,
6159
-          'sel-line-start': 6838L,
6160
-          'selection_end': 6898L,
6161
-          'selection_start': 6879L,
6153
+                            ('MainScreen.selection_changed',
6154
+                             206)],
6155
+          'first-line': 199L,
6156
+          'folded-linenos': [303L],
6157
+          'sel-line': 208L,
6158
+          'sel-line-start': 9605L,
6159
+          'selection_end': 9670L,
6160
+          'selection_start': 9670L,
6161
+          'zoom': 0L},
6162
+         1520766083.095],
6163
+        [loc('PlayStream.py'),
6164
+         {'attrib-starts': [],
6165
+          'first-line': 0L,
6166
+          'folded-linenos': [303L],
6167
+          'sel-line': 8L,
6168
+          'sel-line-start': 401L,
6169
+          'selection_end': 420L,
6170
+          'selection_start': 420L,
6162 6171
           'zoom': 0L},
6163
-         1520730999.326]],
6172
+         1520767034.408]],
6164 6173
         20),
6165
-        'current-loc': loc('PlayStream.py'),
6174
+        'current-loc': loc('changelog.md'),
6166 6175
         'editor-state-list': [(loc('changelog.md'),
6167 6176
                                {'attrib-starts': [],
6168 6177
                                 'first-line': 0L,
6169 6178
                                 'folded-linenos': [],
6170
-                                'sel-line': 2L,
6171
-                                'sel-line-start': 69L,
6172
-                                'selection_end': 69L,
6173
-                                'selection_start': 69L,
6179
+                                'sel-line': 1L,
6180
+                                'sel-line-start': 23L,
6181
+                                'selection_end': 66L,
6182
+                                'selection_start': 66L,
6174 6183
                                 'zoom': 0L}),
6175 6184
                               (loc('plugin.py'),
6176 6185
                                {'attrib-starts': [],
@@ -6182,16 +6191,13 @@ guimgr.overall-gui-state = {'windowing-policy': 'combined-window',
6182 6191
                                 'selection_start': 203L,
6183 6192
                                 'zoom': 0L}),
6184 6193
                               (loc('PlayStream.py'),
6185
-                               {'attrib-starts': [('MainScreen',
6186
-        93),
6187
-        ('MainScreen.layout_finished',
6188
-         133)],
6189
-                                'first-line': 156L,
6190
-                                'folded-linenos': [338L],
6191
-                                'sel-line': 151L,
6192
-                                'sel-line-start': 6937L,
6193
-                                'selection_end': 6972L,
6194
-                                'selection_start': 6972L,
6194
+                               {'attrib-starts': [],
6195
+                                'first-line': 0L,
6196
+                                'folded-linenos': [303L],
6197
+                                'sel-line': 8L,
6198
+                                'sel-line-start': 401L,
6199
+                                'selection_end': 420L,
6200
+                                'selection_start': 420L,
6195 6201
                                 'zoom': 0L}),
6196 6202
                               (loc('VideoDownload.py'),
6197 6203
                                {'attrib-starts': [('VideoDownloadList',
@@ -6213,49 +6219,6 @@ guimgr.overall-gui-state = {'windowing-policy': 'combined-window',
6213 6219
                                 'selection_end': 1892L,
6214 6220
                                 'selection_start': 1892L,
6215 6221
                                 'zoom': 0L}),
6216
-                              (loc('../python/skin.py'),
6217
-                               {'attrib-starts': [('collectAttributes',
6218
-        247)],
6219
-                                'first-line': 257L,
6220
-                                'folded-linenos': [],
6221
-                                'sel-line': 255L,
6222
-                                'sel-line-start': 7940L,
6223
-                                'selection_end': 7951L,
6224
-                                'selection_start': 7944L,
6225
-                                'zoom': 0L}),
6226
-                              (loc('test_download.py'),
6227
-                               {'attrib-starts': [],
6228
-                                'first-line': 9L,
6229
-                                'folded-linenos': [],
6230
-                                'sel-line': 21L,
6231
-                                'sel-line-start': 588L,
6232
-                                'selection_end': 641L,
6233
-                                'selection_start': 621L,
6234
-                                'zoom': 0L}),
6235
-                              (loc('../python/Tools/BoundFunction.py'),
6236
-                               {'attrib-starts': [('boundFunction',
6237
-        0),
6238
-        ('boundFunction.__call__',
6239
-         5)],
6240
-                                'first-line': 0L,
6241
-                                'folded-linenos': [],
6242
-                                'sel-line': 6L,
6243
-                                'sel-line-start': 161L,
6244
-                                'selection_end': 186L,
6245
-                                'selection_start': 180L,
6246
-                                'zoom': 0L}),
6247
-                              (loc('../../../../Python27/Lib/site-packages/twisted/internet/_sslverify.py'),
6248
-                               {'attrib-starts': [('_tolerateErrors',
6249
-        1079),
6250
-        ('_tolerateErrors.infoCallback',
6251
-         1099)],
6252
-                                'first-line': 1096L,
6253
-                                'folded-linenos': [],
6254
-                                'sel-line': 1105L,
6255
-                                'sel-line-start': 35215L,
6256
-                                'selection_end': 35250L,
6257
-                                'selection_start': 35238L,
6258
-                                'zoom': 0L}),
6259 6222
                               (loc('imake.bat'),
6260 6223
                                {'attrib-starts': [],
6261 6224
                                 'first-line': 102L,
@@ -6265,44 +6228,26 @@ guimgr.overall-gui-state = {'windowing-policy': 'combined-window',
6265 6228
                                 'selection_end': 2632L,
6266 6229
                                 'selection_start': 2632L,
6267 6230
                                 'zoom': 0L}),
6268
-                              (loc('content/sources/cinemalive.py'),
6269
-                               {'attrib-starts': [('Source',
6270
-        29),
6271
-        ('Source.__init__',
6272
-         31)],
6273
-                                'first-line': 17L,
6274
-                                'folded-linenos': [],
6275
-                                'sel-line': 33L,
6276
-                                'sel-line-start': 1056L,
6277
-                                'selection_end': 1088L,
6278
-                                'selection_start': 1088L,
6279
-                                'zoom': 0L}),
6280
-                              (loc('content/sources/SourceBase.py'),
6281
-                               {'attrib-starts': [],
6282
-                                'first-line': 12L,
6283
-                                'folded-linenos': [],
6284
-                                'sel-line': 24L,
6285
-                                'sel-line-start': 732L,
6286
-                                'selection_end': 732L,
6287
-                                'selection_start': 732L,
6288
-                                'zoom': 0L}),
6289
-                              (loc('content/resolvers/cloudsany.py'),
6231
+                              (loc('content/sources/config.py'),
6290 6232
                                {'attrib-starts': [],
6291
-                                'first-line': 5L,
6233
+                                'first-line': 158L,
6292 6234
                                 'folded-linenos': [],
6293
-                                'sel-line': 12L,
6294
-                                'sel-line-start': 240L,
6295
-                                'selection_end': 408L,
6296
-                                'selection_start': 240L,
6235
+                                'sel-line': 164L,
6236
+                                'sel-line-start': 5771L,
6237
+                                'selection_end': 5797L,
6238
+                                'selection_start': 5797L,
6297 6239
                                 'zoom': 0L}),
6298
-                              (loc('skin.xml'),
6299
-                               {'attrib-starts': [],
6300
-                                'first-line': 6L,
6240
+                              (loc('content/ContentSources.py'),
6241
+                               {'attrib-starts': [('ContentSources',
6242
+        16),
6243
+        ('ContentSources.__init__',
6244
+         20)],
6245
+                                'first-line': 33L,
6301 6246
                                 'folded-linenos': [],
6302
-                                'sel-line': 18L,
6303
-                                'sel-line-start': 1610L,
6304
-                                'selection_end': 1610L,
6305
-                                'selection_start': 1610L,
6247
+                                'sel-line': 46L,
6248
+                                'sel-line-start': 1885L,
6249
+                                'selection_end': 1925L,
6250
+                                'selection_start': 1925L,
6306 6251
                                 'zoom': 0L})],
6307 6252
         'has-focus': True,
6308 6253
         'locked': False},
@@ -6311,29 +6256,17 @@ guimgr.overall-gui-state = {'windowing-policy': 'combined-window',
6311 6256
          loc('PlayStream.py'),
6312 6257
          loc('VideoDownload.py'),
6313 6258
          loc('../python/enigma.py'),
6314
-         loc('../python/skin.py'),
6315
-         loc('test_download.py'),
6316
-         loc('../python/Tools/BoundFunction.py'),
6317
-         loc('../../../../Python27/Lib/site-packages/twisted/internet/_sslverify.py'),
6318 6259
          loc('imake.bat'),
6319
-         loc('content/sources/cinemalive.py'),
6320
-         loc('content/sources/SourceBase.py'),
6321
-         loc('content/resolvers/cloudsany.py'),
6322
-         loc('skin.xml')]),
6260
+         loc('content/sources/config.py'),
6261
+         loc('content/ContentSources.py')]),
6323 6262
                                'open_files': [u'VideoDownload.py',
6324
-        u'content/resolvers/cloudsany.py',
6325
-        u'content/sources/SourceBase.py',
6326
-        u'content/sources/cinemalive.py',
6327 6263
         u'imake.bat',
6328
-        u'skin.xml',
6329
-        u'test_download.py',
6330
-        u'../python/Tools/BoundFunction.py',
6331 6264
         u'../python/enigma.py',
6332
-        u'../python/skin.py',
6333
-        u'../../../../Python27/Lib/site-packages/twisted/internet/_sslverify.py',
6334
-        u'changelog.md',
6335 6265
         u'plugin.py',
6336
-        u'PlayStream.py']},
6266
+        u'content/ContentSources.py',
6267
+        u'content/sources/config.py',
6268
+        u'PlayStream.py',
6269
+        u'changelog.md']},
6337 6270
         'saved_notebook_display': None,
6338 6271
         'split_percents': {0: 0.4733405875952122},
6339 6272
         'splits': 2,
@@ -6348,18 +6281,13 @@ guimgr.overall-gui-state = {'windowing-policy': 'combined-window',
6348 6281
                          0,
6349 6282
                          1880,
6350 6283
                          1100)}]}
6351
-guimgr.recent-documents = [loc('PlayStream.py'),
6284
+guimgr.recent-documents = [loc('changelog.md'),
6285
+                           loc('PlayStream.py'),
6286
+                           loc('content/sources/config.py'),
6287
+                           loc('content/ContentSources.py'),
6352 6288
                            loc('plugin.py'),
6353
-                           loc('changelog.md'),
6354
-                           loc('../../../../Python27/Lib/site-packages/twisted/internet/_sslverify.py'),
6355
-                           loc('skin.xml'),
6356
-                           loc('content/sources/cinemalive.py'),
6357
-                           loc('content/sources/SourceBase.py'),
6358 6289
                            loc('VideoDownload.py'),
6359 6290
                            loc('imake.bat'),
6360
-                           loc('test_download.py'),
6361
-                           loc('../python/Tools/BoundFunction.py'),
6362
-                           loc('../python/skin.py'),
6363 6291
                            loc('../python/enigma.py')]
6364 6292
 guimgr.visual-state = {loc('../../$pylib/main6.py'): {'attrib-starts': [('pa'\
6365 6293
         'rse_arguments',
@@ -6449,6 +6377,35 @@ guimgr.visual-state = {loc('../../$pylib/main6.py'): {'attrib-starts': [('pa'\
6449 6377
         'sel-line-start': 7870,
6450 6378
         'selection_end': 7881,
6451 6379
         'selection_start': 7875},
6380
+                       loc('content/resolvers/cloudsany.py'): {'attrib-start'\
6381
+        's': [],
6382
+        'first-line': 5L,
6383
+        'folded-linenos': [],
6384
+        'sel-line': 12L,
6385
+        'sel-line-start': 240L,
6386
+        'selection_end': 408L,
6387
+        'selection_start': 240L,
6388
+        'zoom': 0L},
6389
+                       loc('content/sources/SourceBase.py'): {'attrib-starts': [],
6390
+        'first-line': 12L,
6391
+        'folded-linenos': [],
6392
+        'sel-line': 24L,
6393
+        'sel-line-start': 732L,
6394
+        'selection_end': 732L,
6395
+        'selection_start': 732L,
6396
+        'zoom': 0L},
6397
+                       loc('content/sources/cinemalive.py'): {'attrib-starts': [('S'\
6398
+        'ource',
6399
+        29),
6400
+        ('Source.__init__',
6401
+         31)],
6402
+        'first-line': 17L,
6403
+        'folded-linenos': [],
6404
+        'sel-line': 33L,
6405
+        'sel-line-start': 1056L,
6406
+        'selection_end': 1088L,
6407
+        'selection_start': 1088L,
6408
+        'zoom': 0L},
6452 6409
                        loc('enigma2/skin.xml'): {'attrib-starts': [],
6453 6410
         'first-line': 0L,
6454 6411
         'folded-linenos': [],
@@ -6812,6 +6769,14 @@ guimgr.visual-state = {loc('../../$pylib/main6.py'): {'attrib-starts': [('pa'\
6812 6769
         'sel-line-start': 0,
6813 6770
         'selection_end': 0,
6814 6771
         'selection_start': 0},
6772
+                       loc('skin.xml'): {'attrib-starts': [],
6773
+        'first-line': 6L,
6774
+        'folded-linenos': [],
6775
+        'sel-line': 18L,
6776
+        'sel-line-start': 1610L,
6777
+        'selection_end': 1610L,
6778
+        'selection_start': 1610L,
6779
+        'zoom': 0L},
6815 6780
                        loc('sniplets.py'): {'attrib-starts': [],
6816 6781
         'first-line': 0L,
6817 6782
         'folded-linenos': [],
@@ -7185,6 +7150,14 @@ guimgr.visual-state = {loc('../../$pylib/main6.py'): {'attrib-starts': [('pa'\
7185 7150
         'sel-line-start': 27L,
7186 7151
         'selection_end': 59L,
7187 7152
         'selection_start': 27L,
7153
+        'zoom': 0L},
7154
+                       loc('test_download.py'): {'attrib-starts': [],
7155
+        'first-line': 9L,
7156
+        'folded-linenos': [],
7157
+        'sel-line': 21L,
7158
+        'sel-line-start': 588L,
7159
+        'selection_end': 641L,
7160
+        'selection_start': 621L,
7188 7161
         'zoom': 0L},
7189 7162
                        loc('test_m3u8.py'): {'attrib-starts': [],
7190 7163
         'first-line': 0,
@@ -7285,6 +7258,18 @@ guimgr.visual-state = {loc('../../$pylib/main6.py'): {'attrib-starts': [('pa'\
7285 7258
         'sel-line-start': 0L,
7286 7259
         'selection_end': 0L,
7287 7260
         'selection_start': 0L,
7261
+        'zoom': 0L},
7262
+                       loc('../python/Tools/BoundFunction.py'): {'attrib-sta'\
7263
+        'rts': [('boundFunction',
7264
+                 0),
7265
+                ('boundFunction.__call__',
7266
+                 5)],
7267
+        'first-line': 0L,
7268
+        'folded-linenos': [],
7269
+        'sel-line': 6L,
7270
+        'sel-line-start': 161L,
7271
+        'selection_end': 186L,
7272
+        'selection_start': 180L,
7288 7273
         'zoom': 0L},
7289 7274
                        loc('../python/Tools/Directories.py'): {'attrib-start'\
7290 7275
         's': [('resolveFilename',
@@ -7305,6 +7290,16 @@ guimgr.visual-state = {loc('../../$pylib/main6.py'): {'attrib-starts': [('pa'\
7305 7290
         'sel-line-start': 165L,
7306 7291
         'selection_end': 172L,
7307 7292
         'selection_start': 172L,
7293
+        'zoom': 0L},
7294
+                       loc('../python/skin.py'): {'attrib-starts': [('collec'\
7295
+        'tAttributes',
7296
+        247)],
7297
+        'first-line': 257L,
7298
+        'folded-linenos': [],
7299
+        'sel-line': 255L,
7300
+        'sel-line-start': 7940L,
7301
+        'selection_end': 7951L,
7302
+        'selection_start': 7944L,
7308 7303
         'zoom': 0L},
7309 7304
                        loc('../../../../Python27/Lib/BaseHTTPServer.py'): {'a'\
7310 7305
         'ttrib-starts': [('BaseHTTPRequestHandler',
@@ -7396,6 +7391,18 @@ guimgr.visual-state = {loc('../../$pylib/main6.py'): {'attrib-starts': [('pa'\
7396 7391
         'sel-line-start': 2762,
7397 7392
         'selection_end': 2762,
7398 7393
         'selection_start': 2762},
7394
+                       loc('../../../../Python27/Lib/site-packages/twisted/internet/_sslverify.py'): {'a'\
7395
+        'ttrib-starts': [('_tolerateErrors',
7396
+                          1079),
7397
+                         ('_tolerateErrors.infoCallback',
7398
+                          1099)],
7399
+        'first-line': 1096L,
7400
+        'folded-linenos': [],
7401
+        'sel-line': 1105L,
7402
+        'sel-line-start': 35215L,
7403
+        'selection_end': 35250L,
7404
+        'selection_start': 35238L,
7405
+        'zoom': 0L},
7399 7406
                        loc('../../../../Python27/Lib/site-packages/twisted/internet/base.py'): {'a'\
7400 7407
         'ttrib-starts': [('_SignalReactorMixin',
7401 7408
                           1171),
@@ -7572,26 +7579,26 @@ search.replace-history = [u'cb_download_dir',
7572 7579
                           u'filmix.me',
7573 7580
                           u'self',
7574 7581
                           u'current']
7575
-search.search-history = [u'streams_file_remote',
7576
-                         u'self.msg2',
7577
-                         u'self.msg',
7578
-                         u'delete',
7579
-                         u'move',
7580
-                         u'add',
7581
-                         u'"add"',
7582
-                         u'streams_file',
7583
-                         u'Contents',
7584
-                         u'streams_fi',
7585
-                         u'msg',
7586
-                         u'tmp_dir',
7582
+search.search-history = [u'update_streams_file',
7583
+                         u'ConfigScreen',
7584
+                         u'update_content',
7585
+                         u'ConfigListScreen',
7586
+                         u'cb_move',
7587
+                         u'show_content',
7588
+                         u'cb_input',
7589
+                         u'self.get_conte',
7590
+                         u'sources.get_co',
7591
+                         u'pass',
7587 7592
                          u'self.config',
7588
-                         u'sources',
7589
-                         u'decoded',
7590
-                         u'history',
7591
-                         u'exit',
7592
-                         u'warning',
7593
-                         u'warn',
7594
-                         u'war']
7593
+                         u'config',
7594
+                         u'get_con',
7595
+                         u'use_',
7596
+                         u'get_conten',
7597
+                         u'get_conte',
7598
+                         u'self.cfg_file',
7599
+                         u'streams_file_remote',
7600
+                         u'self.msg2',
7601
+                         u'self.msg']
7595 7602
 testing.stored-results = (1,
7596 7603
                           [],
7597 7604
                           {})

+ 3
- 1
changelog.md Целия файл

@@ -1,5 +1,7 @@
1
-**0.7s** (10.03.2018)
1
+**0.7t** (10.03.2018)
2 2
 - [change] Delete un Move favorītos stradā
3
+- [change] Config avotā uzlabota streams_file manipulācija (var dinamiski mainīt)
4
+- [change] Nedaudz piefrizēts kods u.c.
3 5
 
4 6
 **0.7r** (10.03.2018)
5 7
 - [change] uzlabota ltc informācija