Check-in [39b9182c6e]
Overview
Comment: | Add version and -V flags. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
39b9182c6e6114cb6b0ef009b376d611 |
User & Date: | mario on 2017-02-13 16:47:58 |
Other Links: | manifest | tags |
Context
2017-02-13
| ||
16:48 | Simplify best_url() dict generation, typecasting, add more comments on channel webpage. check-in: c05cee4440 user: mario tags: trunk | |
16:47 | Add version and -V flags. check-in: 39b9182c6e user: mario tags: trunk | |
2017-02-12
| ||
20:57 | new plugin: streamlicensing check-in: 82b87725e3 user: mario tags: trunk | |
Changes
Modified cli.py from [de8c726472] to [bf2c97a84d].
︙ | ︙ | |||
34 35 36 37 38 39 40 | channel_modules = ["shoutcast", "xiph", "icast", "jamendo", "radiobrowser"]# module_list() current_channel = "cli" plugins = {} # only populated sparsely by .stream() # start def __init__(self, actions): | | > > > | | > | > > > > > > > > > > > | 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 | channel_modules = ["shoutcast", "xiph", "icast", "jamendo", "radiobrowser"]# module_list() current_channel = "cli" plugins = {} # only populated sparsely by .stream() # start def __init__(self, actions): #log.INIT(actions) #log.CONF(conf.args) # fake init action.main = empty_parent() action.main.current_channel = self.current_channel # check if enough arguments, else help if conf.args.version: cmd = self.show_version elif not actions: cmd = self.help # first cmdline arg == action else: command = actions[0] if command in dir(self): cmd = self.__getattribute__(command) else: log.ERR("No such command:", command) return # run #log.CONF(cmd) result = cmd(*actions[1:]) if result: self.json(result) # show help def help(self, *args): print(""" syntax: streamtuner2 action [channel] "stream title" from cache: streamtuner2 stream shoutcast frequence streamtuner2 dump xiph streamtuner2 play "..." streamtuner2 url "..." load fresh: streamtuner2 category shoutcast "Top 40" streamtuner2 categories xiph """) # only show -V version def show_version(self, *args): print(plugin_meta(frame=3)["version"]) # show modules and versions def modules(self, *args): self.channel("pluginmanager2") for name in ["st2", "config", "uikit", "pluginconf", "action", "cli", "ahttp"] + module_list(): meta = plugin_meta(module=name, extra_base=["config"]) print("%s: %s" % (name, meta["version"])) # prints stream data from cache def stream(self, *args): # optional channel name, title if len(args) > 1: (channel_list, title) = args channel_list = channel_list.split(",") |
︙ | ︙ | |||
138 139 140 141 142 143 144 | return r # load module def channel(self, module): plugin = __import__("channels."+module, None, None, [""]) plugin_class = plugin.__dict__[module] | < | > | 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 | return r # load module def channel(self, module): plugin = __import__("channels."+module, None, None, [""]) plugin_class = plugin.__dict__[module] parent = empty_parent() p = plugin_class(parent) return p # load all channel modules def channels(self, channels=None): if channels: channels = channels.split(",") else: |
︙ | ︙ | |||
161 162 163 164 165 166 167 168 169 170 171 172 173 | # trap for some main window calls class empty_parent (object): channel = {} null = lambda *a: None status = lambda *a: None thread = lambda *a: None | > | 176 177 178 179 180 181 182 183 184 185 186 187 188 189 | # trap for some main window calls class empty_parent (object): channel = {} hooks = { "init": [], "config_save": [], "config_load": [] } null = lambda *a: None status = lambda *a: None thread = lambda *a: None |
Modified st2.py from [0e842350c3] to [13a6df97da].
︙ | ︙ | |||
514 515 516 517 518 519 520 | # startup procedure def main(): # graphical | | | 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 | # startup procedure def main(): # graphical if not len(conf.args.action) and not conf.args.version: # prepare for threading in Gtk+ callbacks gobject.threads_init() # prepare main window main = StreamTunerTwo() |
︙ | ︙ | |||
536 537 538 539 540 541 542 543 544 545 546 547 548 | gtk.main() [callback() for callback in main.hooks["quit"]] log.PROC(r"[31m gtk_main_quit [0m") # invoke command-line interface else: import cli cli.StreamTunerCLI(conf.args.action) # run if __name__ == "__main__": main() | > | 536 537 538 539 540 541 542 543 544 545 546 547 548 549 | gtk.main() [callback() for callback in main.hooks["quit"]] log.PROC(r"[31m gtk_main_quit [0m") # invoke command-line interface else: import cli #print "CLI.py:" cli.StreamTunerCLI(conf.args.action) # run if __name__ == "__main__": main() |