VideoHelp Forum




+ Reply to Thread
Results 1 to 6 of 6
  1. Can anyone tell me what's wrong here?...

    I installed devine via pip, cloned SBB+tpd94 services, created .yaml, added .wvd

    Code:
    devine cfg --list
                                                                              
                           / __ \/ ____/ |  / /  _/ | / / ____/                     
                          / / / / __/  | | / // //  |/ / __/                        
                         / /_/ / /___  | |/ // // /|  / /___                        
                        /_____/_____/  |___/___/_/ |_/_____/                        
                        ⠀                                                           
                        v3.3.3 Copyright © 2019-2025 rlaphoenix                     
                          https://github.com/devine-dl/devine                       
                                                                                    
    directories:
    services: /home/pc/Downloads/pyenvs/main/lib/python3.11/site-packages/devine/services/
    temp: /tmp/devine
    downloads: /home/pc/Desktop/
    wvds: /home/pc/.local/share/devine/WVDs
    
    credentials:
    ALL4: username:password
    ROKU: username:password
    CTV: username:password
    DSNP: username:password
    
    downloader: aria2c
    
    profiles:
    default: default
    
    dl:
    sub_format: srt
    Services are found:

    Code:
    devine dl SERVICE -?
                                                                                    
                           / __ \/ ____/ |  / /  _/ | / / ____/                     
                          / / / / __/  | | / // //  |/ / __/                        
                         / /_/ / /___  | |/ // // /|  / /___                        
                        /_____/_____/  |___/___/_/ |_/_____/                        
                        ⠀                                                           
                        v3.3.3 Copyright © 2019-2025 rlaphoenix                     
                          https://github.com/devine-dl/devine                       
                                                                                    
    Error: "There is no Service added by the Tag 'SERVICE'". Available Services: ALL4, AMZN, AUBC, CBC, CBS, CR, CTV, DROP, DSCP, ITV, MY5, PLUTO, ROKU, RTE, STV, TFC, TUBI, TVNZ, UKTV, VIKI, iP
    I haven't added any credentials yet, but I can't search or dl from anywhere:

    Code:
    devine search PLUTO ?
                                                                                    
                           / __ \/ ____/ |  / /  _/ | / / ____/                     
                          / / / / __/  | | / // //  |/ / __/                        
                         / /_/ / /___  | |/ // // /|  / /___                        
                        /_____/_____/  |___/___/_/ |_/_____/                        
                        ⠀                                                           
                        v3.3.3 Copyright © 2019-2025 rlaphoenix                     
                          https://github.com/devine-dl/devine                       
                                                                                    
         Service Config loaded                                                      
    ╭───────────────────── Traceback (most recent call last) ──────────────────────╮
    │ /home/pc/Downloads/pyenvs/main/bin/devine:8 in <module>                      │
    │                                                                              │
    │   5 from devine.core.__main__ import main                                    │
    │   6 if __name__ == '__main__':                                               │
    │   7 │   sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])     │
    │ ❱ 8 │   sys.exit(main())                                                     │
    │   9                                                                          │
    │                                                                              │
    │ /home/pc/Downloads/pyenvs/main/lib/python3.11/site-packages/click/core.py:11 │
    │ 61 in __call__                                                               │
    │                                                                              │
    │ /home/pc/Downloads/pyenvs/main/lib/python3.11/site-packages/click/core.py:10 │
    │ 82 in main                                                                   │
    │                                                                              │
    │ /home/pc/Downloads/pyenvs/main/lib/python3.11/site-packages/click/core.py:16 │
    │ 97 in invoke                                                                 │
    │                                                                              │
    │ /home/pc/Downloads/pyenvs/main/lib/python3.11/site-packages/click/core.py:16 │
    │ 94 in invoke                                                                 │
    │                                                                              │
    │ /home/pc/Downloads/pyenvs/main/lib/python3.11/site-packages/click/core.py:14 │
    │ 43 in invoke                                                                 │
    │                                                                              │
    │ /home/pc/Downloads/pyenvs/main/lib/python3.11/site-packages/click/core.py:78 │
    │ 8 in invoke                                                                  │
    │                                                                              │
    │ /home/pc/Downloads/pyenvs/main/lib/python3.11/site-packages/click/decorators │
    │ .py:33 in new_func                                                           │
    │                                                                              │
    │ /home/pc/Downloads/pyenvs/main/lib/python3.11/site-packages/devine/commands/ │
    │ search.py:64 in search                                                       │
    │                                                                              │
    │    61 │   │   │   log.info("Service Config loaded")                          │
    │    62 │   │   else:                                                          │
    │    63 │   │   │   service_config = {}                                        │
    │ ❱  64 │   │   merge_dict(config.services.get(service), service_config)       │
    │    65 │                                                                      │
    │    66 │   proxy_providers = []                                               │
    │    67 │   if no_proxy:                                                       │
    ╰──────────────────────────────────────────────────────────────────────────────╯
    AttributeError: 'str' object has no attribute 'get'
    Code:
    devine dl TUBI https://tubitv.com/movies/100032830/new-york-post-presents-luigi-mangione-monster-or-martyr
                                                                                    
                           / __ \/ ____/ |  / /  _/ | / / ____/                     
                          / / / / __/  | | / // //  |/ / __/                        
                         / /_/ / /___  | |/ // // /|  / /___                        
                        /_____/_____/  |___/___/_/ |_/_____/                        
                        ⠀                                                           
                        v3.3.3 Copyright © 2019-2025 rlaphoenix                     
                          https://github.com/devine-dl/devine                       
                                                                                    
         Service Config loaded                                                      
    ╭───────────────────── Traceback (most recent call last) ──────────────────────╮
    │ /home/pc/Downloads/pyenvs/main/bin/devine:8 in <module>                      │
    │                                                                              │
    │   5 from devine.core.__main__ import main                                    │
    │   6 if __name__ == '__main__':                                               │
    │   7 │   sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])     │
    │ ❱ 8 │   sys.exit(main())                                                     │
    │   9                                                                          │
    │                                                                              │
    │ /home/pc/Downloads/pyenvs/main/lib/python3.11/site-packages/click/core.py:11 │
    │ 61 in __call__                                                               │
    │                                                                              │
    │ /home/pc/Downloads/pyenvs/main/lib/python3.11/site-packages/click/core.py:10 │
    │ 82 in main                                                                   │
    │                                                                              │
    │ /home/pc/Downloads/pyenvs/main/lib/python3.11/site-packages/click/core.py:16 │
    │ 97 in invoke                                                                 │
    │                                                                              │
    │ /home/pc/Downloads/pyenvs/main/lib/python3.11/site-packages/click/core.py:16 │
    │ 94 in invoke                                                                 │
    │                                                                              │
    │ /home/pc/Downloads/pyenvs/main/lib/python3.11/site-packages/click/core.py:14 │
    │ 43 in invoke                                                                 │
    │                                                                              │
    │ /home/pc/Downloads/pyenvs/main/lib/python3.11/site-packages/click/core.py:78 │
    │ 8 in invoke                                                                  │
    │                                                                              │
    │ /home/pc/Downloads/pyenvs/main/lib/python3.11/site-packages/click/decorators │
    │ .py:33 in new_func                                                           │
    │                                                                              │
    │ /home/pc/Downloads/pyenvs/main/lib/python3.11/site-packages/devine/commands/ │
    │ dl.py:141 in cli                                                             │
    │                                                                              │
    │   138 │   │   │   │     help="Amount of tracks to download concurrently.")   │
    │   139 │   @click.pass_context                                                │
    │   140 │   def cli(ctx: click.Context, **kwargs: Any) -> dl:                  │
    │ ❱ 141 │   │   return dl(ctx, **kwargs)                                       │
    │   142 │                                                                      │
    │   143 │   DRM_TABLE_LOCK = Lock()                                            │
    │   144                                                                        │
    │                                                                              │
    │ /home/pc/Downloads/pyenvs/main/lib/python3.11/site-packages/devine/commands/ │
    │ dl.py:173 in __init__                                                        │
    │                                                                              │
    │   170 │   │   │   │   self.log.info("Service Config loaded")                 │
    │   171 │   │   │   else:                                                      │
    │   172 │   │   │   │   self.service_config = {}                               │
    │ ❱ 173 │   │   │   merge_dict(config.services.get(self.service), self.service │
    │   174 │   │                                                                  │
    │   175 │   │   with console.status("Loading Widevine CDM...", spinner="dots") │
    │   176 │   │   │   try:                                                       │
    ╰──────────────────────────────────────────────────────────────────────────────╯
    AttributeError: 'str' object has no attribute 'get'
    Does anyone know what's wrong here?
    Quote Quote  
  2. If you still haven't solved your own problem, I notice you do not reference a CDM at all.

    I have this line in my yaml.

    Code:
    cdm:
      default: device
    I have named my cdm as 'device.wvd' and it is in the folder pointed to by WVDs.

    Also formatting - it may be just this site an how it displays stuff - lines ending in a colon (a section heading) are followed by lines indented two spaces.
    Quote Quote  
  3. Thanks but I already tried tinkering with the cdm setting and it doesn't help:

    Code:
    devine cfg --list
                                                                                    
                           / __ \/ ____/ |  / /  _/ | / / ____/                     
                          / / / / __/  | | / // //  |/ / __/                        
                         / /_/ / /___  | |/ // // /|  / /___                        
                        /_____/_____/  |___/___/_/ |_/_____/                        
                        ⠀                                                           
                        v3.3.3 Copyright © 2019-2025 rlaphoenix                     
                          https://github.com/devine-dl/devine                       
                                                                                    
    directories:
    services: /home/pc/Downloads/pyenvs/sbbdvine/devine/devine/services/
    temp: /tmp/devine
    downloads: /home/pc/Desktop/
    wvds: /home/pc/.local/share/devine/WVDs
    
    credentials:
    ALL4: username:password
    ROKU: username:password
    CTV: username:password
    DSNP: username:password
    
    downloader: aria2c
    
    profiles:
    default: default
    
    dl:
    sub_format: srt
    
    cdm:
      default: samsung_sm-a137f_16.1.1_006_8d9ce720_28919_l3
    Code:
    devine dl tubi https://tubitv.com/movies/100032830/new-york-post-presents-luigi-mangione-monster-or-martyr
                                                                                    
                           / __ \/ ____/ |  / /  _/ | / / ____/                     
                          / / / / __/  | | / // //  |/ / __/                        
                         / /_/ / /___  | |/ // // /|  / /___                        
                        /_____/_____/  |___/___/_/ |_/_____/                        
                        ⠀                                                           
                        v3.3.3 Copyright © 2019-2025 rlaphoenix                     
                          https://github.com/devine-dl/devine                       
                                                                                    
         Service Config loaded                                                      
    ╭───────────────────── Traceback (most recent call last) ──────────────────────╮
    │ /home/pc/Downloads/pyenvs/main/bin/devine:8 in <module>                      │
    │                                                                              │
    │   5 from devine.core.__main__ import main                                    │
    │   6 if __name__ == '__main__':                                               │
    │   7 │   sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])     │
    │ ❱ 8 │   sys.exit(main())                                                     │
    │   9                                                                          │
    │                                                                              │
    │ /home/pc/Downloads/pyenvs/main/lib/python3.11/site-packages/click/core.py:11 │
    │ 61 in __call__                                                               │
    │                                                                              │
    │ /home/pc/Downloads/pyenvs/main/lib/python3.11/site-packages/click/core.py:10 │
    │ 82 in main                                                                   │
    │                                                                              │
    │ /home/pc/Downloads/pyenvs/main/lib/python3.11/site-packages/click/core.py:16 │
    │ 97 in invoke                                                                 │
    │                                                                              │
    │ /home/pc/Downloads/pyenvs/main/lib/python3.11/site-packages/click/core.py:16 │
    │ 94 in invoke                                                                 │
    │                                                                              │
    │ /home/pc/Downloads/pyenvs/main/lib/python3.11/site-packages/click/core.py:14 │
    │ 43 in invoke                                                                 │
    │                                                                              │
    │ /home/pc/Downloads/pyenvs/main/lib/python3.11/site-packages/click/core.py:78 │
    │ 8 in invoke                                                                  │
    │                                                                              │
    │ /home/pc/Downloads/pyenvs/main/lib/python3.11/site-packages/click/decorators │
    │ .py:33 in new_func                                                           │
    │                                                                              │
    │ /home/pc/Downloads/pyenvs/main/lib/python3.11/site-packages/devine/commands/ │
    │ dl.py:141 in cli                                                             │
    │                                                                              │
    │   138 │   │   │   │     help="Amount of tracks to download concurrently.")   │
    │   139 │   @click.pass_context                                                │
    │   140 │   def cli(ctx: click.Context, **kwargs: Any) -> dl:                  │
    │ ❱ 141 │   │   return dl(ctx, **kwargs)                                       │
    │   142 │                                                                      │
    │   143 │   DRM_TABLE_LOCK = Lock()                                            │
    │   144                                                                        │
    │                                                                              │
    │ /home/pc/Downloads/pyenvs/main/lib/python3.11/site-packages/devine/commands/ │
    │ dl.py:173 in __init__                                                        │
    │                                                                              │
    │   170 │   │   │   │   self.log.info("Service Config loaded")                 │
    │   171 │   │   │   else:                                                      │
    │   172 │   │   │   │   self.service_config = {}                               │
    │ ❱ 173 │   │   │   merge_dict(config.services.get(self.service), self.service │
    │   174 │   │                                                                  │
    │   175 │   │   with console.status("Loading Widevine CDM...", spinner="dots") │
    │   176 │   │   │   try:                                                       │
    ╰──────────────────────────────────────────────────────────────────────────────╯
    AttributeError: 'str' object has no attribute 'get'
    Quote Quote  
  4. Your first post has this

    Code:
    Error: "There is no Service added by the Tag 'SERVICE'".
    Which suggests you've got a folder within 'services' called 'SERVICE'. That would explain why services.get() is failing.
    So go to your services folder and remove anything which does not have a legit service in it.
    Quote Quote  
  5. Originally Posted by phased View Post
    Your first post has this

    Code:
    Error: "There is no Service added by the Tag 'SERVICE'".
    Which suggests you've got a folder within 'services' called 'SERVICE'. That would explain why services.get() is failing.
    So go to your services folder and remove anything which does not have a legit service in it.
    I tested by removing all but 1 service and then tried a couple of different ones but still get the same result, guess I'll have to open an issue on github or try install in a fresh env, maybe a different version of python or something.
    Quote Quote  
  6. Originally Posted by vidsrme View Post

    I tested by removing all but 1 service and then tried a couple of different ones but still get the same result, guess I'll have to open an issue on github or try install in a fresh env, maybe a different version of python or something.
    Yes, that's not a bad idea. Completely remove everything and start again. I've done that often enough before. Good luck.
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!