Closed Floflobel closed 6 months ago
I will need more detail.
mumc_config.yaml
admin_settings > server
portion of the mumc_confing.yaml
admin_settings > users
portion of the mumc_confing.yaml
Sorry, I was at this commit but here's the info:
https://github.com/terrelsa13/MUMC/commit/bec1c597f3ede54cd83c79a90f3ee96d7c94a7fb
MUMC Version: 5.3.4
MUMC Config Version: 5.3.0
Emby Version: 4.8.0.59
Python Version: 3.9.2
OS Info: Linux-5.10.0-25-amd64-x86_64-with-glibc2.31
Time Stamp Start: 20231129144130
mumc_config.yaml
---
version: 5.3.0
basic_settings:
filter_statements:
movie:
played:
condition_days: -1
count_equality: '>='
count: 1
created:
condition_days: 1095
count_equality: ==
count: 0
behavioral_control: true
episode:
played:
condition_days: -1
count_equality: '>='
count: 1
created:
condition_days: -1
count_equality: '>='
count: 1
behavioral_control: true
audio:
played:
condition_days: -1
count_equality: '>='
count: 1
created:
condition_days: -1
count_equality: '>='
count: 1
behavioral_control: true
advanced_settings:
filter_statements:
movie:
query_filter:
favorited: true
whitetagged: true
blacktagged: true
whitelisted: true
blacklisted: true
episode:
query_filter:
favorited: true
whitetagged: true
blacktagged: true
whitelisted: true
blacklisted: true
audio:
query_filter:
favorited: true
whitetagged: true
blacktagged: true
whitelisted: true
blacklisted: true
behavioral_statements:
movie:
favorited:
action: keep
user_conditional: any
played_conditional: ignore
action_control: 0
dynamic_behavior: false
extra:
genre: 0
library_genre: 0
whitetagged:
action: keep
user_conditional: all
played_conditional: ignore
action_control: 0
dynamic_behavior: false
tags: []
blacktagged:
action: delete
user_conditional: all
played_conditional: any_played
action_control: 0
dynamic_behavior: false
tags: []
whitelisted:
action: keep
user_conditional: all
played_conditional: any_any
action_control: 0
dynamic_behavior: false
blacklisted:
action: delete
user_conditional: all
played_conditional: all_created
action_control: 5
dynamic_behavior: false
episode:
favorited:
action: keep
user_conditional: any
played_conditional: ignore
action_control: 3
dynamic_behavior: false
extra:
genre: 0
season_genre: 0
series_genre: 0
library_genre: 0
studio_network: 0
studio_network_genre: 0
whitetagged:
action: keep
user_conditional: all
played_conditional: ignore
action_control: 0
dynamic_behavior: false
tags: []
blacktagged:
action: delete
user_conditional: all
played_conditional: any_played
action_control: 0
dynamic_behavior: false
tags: []
whitelisted:
action: keep
user_conditional: any
played_conditional: ignore
action_control: 3
dynamic_behavior: false
blacklisted:
action: delete
user_conditional: any
played_conditional: any_played
action_control: 3
dynamic_behavior: false
audio:
favorited:
action: keep
user_conditional: any
played_conditional: ignore
action_control: 3
dynamic_behavior: false
extra:
genre: 0
album_genre: 0
library_genre: 0
track_artist: 0
album_artist: 0
whitetagged:
action: keep
user_conditional: all
played_conditional: ignore
action_control: 0
dynamic_behavior: false
tags: []
blacktagged:
action: delete
user_conditional: all
played_conditional: any_played
action_control: 0
dynamic_behavior: false
tags: []
whitelisted:
action: keep
user_conditional: any
played_conditional: ignore
action_control: 3
dynamic_behavior: false
blacklisted:
action: delete
user_conditional: any
played_conditional: any_played
action_control: 3
dynamic_behavior: false
whitetags: []
blacktags: []
episode_control:
minimum_episodes: 0
minimum_played_episodes: 0
minimum_episodes_behavior: Max Played Min Unplayed
trakt_fix:
set_missing_last_played_date:
movie: false
episode: false
audio: false
console_controls:
headers:
script:
show: true
formatting:
font:
color: ''
style: ''
background:
color: ''
user:
show: true
formatting:
font:
color: ''
style: ''
background:
color: ''
summary:
show: true
formatting:
font:
color: ''
style: ''
background:
color: ''
footers:
script:
show: true
formatting:
font:
color: ''
style: ''
background:
color: ''
warnings:
script:
show: true
formatting:
font:
color: ''
style: ''
background:
color: ''
movie:
delete:
show: true
formatting:
font:
color: ''
style: ''
background:
color: ''
keep:
show: true
formatting:
font:
color: ''
style: ''
background:
color: ''
post_processing:
show: true
formatting:
font:
color: ''
style: ''
background:
color: ''
summary:
show: true
formatting:
font:
color: ''
style: ''
background:
color: ''
episode:
delete:
show: true
formatting:
font:
color: ''
style: ''
background:
color: ''
keep:
show: true
formatting:
font:
color: ''
style: ''
background:
color: ''
post_processing:
show: true
formatting:
font:
color: ''
style: ''
background:
color: ''
summary:
show: true
formatting:
font:
color: ''
style: ''
background:
color: ''
audio:
delete:
show: true
formatting:
font:
color: ''
style: ''
background:
color: ''
keep:
show: true
formatting:
font:
color: ''
style: ''
background:
color: ''
post_processing:
show: true
formatting:
font:
color: ''
style: ''
background:
color: ''
summary:
show: true
formatting:
font:
color: ''
style: ''
background:
color: ''
UPDATE_CONFIG: false
REMOVE_FILES: false
admin_settings:
server:
brand: emby
...
behavior:
list: whitelist
matching: byId
users:
...
api_controls:
attempts: 16
item_limit: 100
cache:
size: 4096
fallback_behavior: LRU
minimum_age: 200
DEBUG: 4
I also try with the basic default cache settings.
Increasing the cache size potentially helps the script run "faster" while shrinking the available RAM by the value defined in admin_settings > cache > size
. If you are running out of RAM when the script is running, increasing the cache is hurting, not helping.
High level of how the script works:
REMOVE_FILES: true
a request to delete is sent to the server for each media itemIf there are lots of monitored users and lots of queried media items the dictionaries in 1ii and 1iii are going to grow until all users and all filtered media items are queried.
My suggestions:
The -c
command line option can be used to specify a different yaml configuration file.
Example: /path/to/python3 /path/to/mumc.py -c /path/to/alternate/yaml_config
@Floflobel Were you able to get MUMC to run without exhausting the available memory?
Thank you for all the information. I am trying to reduce the cache and run it on a computer with 32GB of RAM available. I think the next step is to remove the disabled users from the list. I could try splitting as you said, but I'd lose the advantage of running it on all my users.
It just occurred to me that instead of splitting up my users, I could split up the libraries, as I have 7, so I could launch the first library on all my users, then the second, …
Ahh yes good point! Separating the libraries would also work.
Let me know how this turns out.
I'm still trying to play only with one library but it's quite complicated to identify disabled users on Emby.
Is there an easy way to ignore disabled users in the code?
Not sure I understand. Are you saying you want the script to ignore users that are disabled in the GUI?
No, I would like there to be an option to ignore disabled Emby users in MUMC configuration.
The current problem is that when CONFIG_UPDATE=True
, it is impossible to see if a user is disabled on Emby. And therefore not to choose it for MUMC. By default, all users are shown in the MUMC CLI configuration.
I could look at each user one by one, but when there are a number of them, it's quite annoying. Personally, I always deactivate my users instead of deleting them in case I need to reactivate them one day.
Got it!
Yes, there appears to be a IsDisabled:
parameter for each user.
I see a few ways this could be implemented. What are you looking for?
The closest option for right now is to manually disable each library for any given user in mumc_config.yaml
using the lib_enabled
option. Not sure this would be any easier than manually removing each user from mumc_config.yaml
.
users:
- user_id: abcdef1234567890abcdef1234567890
user_name: UserX
whitelist:
- lib_id: bcdef1234567890abcdef1234567890a
collection_type: music
path: /path/to/music/albums
network_path: smb://192.168.x.x/albums
lib_enabled: false
blacklist:
- lib_id: cdef1234567890abcdef1234567890ab
collection_type: movies
path: /path/to/movies
network_path: smb://192.168.x.x/movies
lib_enabled: false
- lib_id: def1234567890abcdef1234567890abc
collection_type: tvshows
path: /path/to//tv
network_path: smb://192.168.x.x/tv
lib_enabled: false
Yes, there is an option to find out if a user is disabled on the Emby API.
I was thinking more about option "4." :
Why this option and not the one you quoted above? The reality is that a user can be deactivated at any time from Emby. I'd like to ignore this in MUMC and have it automatically ignored if the parameter is checked. If one of your options were implemented, I would have to restart the MUMC configuration each time to delete the user or do it manually.
NB: I think this option should be set to "true" by default, so that deactivated users are taken into account, as is currently the case.
Ahh I see. I misunderstood this...
The current problem is that when CONFIG_UPDATE=True, it is impossible to see if a user is disabled on Emby. And therefore not to choose it for MUMC. By default, all users are shown in the MUMC CLI configuration.
I was thinking you only cared about disabling users when modifying the config.
You are correct, your suggestion makes more sense now. You are wanting to disable them in the GUI and have MUMC look for disabled users and ignore them depending on the value of the option that controls it.
Let me see what I can do.
@Floflobel Take a look at the latest (v5.3.20-beta) in the MUMC_dev branch.
You can either manually add admin_settings
> behavior
> users
> monitor_disabled
to the mumc_config.yaml
.
Or run MUMC once and let it add admin_settings
> behavior
> users
> monitor_disabled
to the mumc_config.yaml
.
admin_settings:
behavior:
...
users:
monitor_disabled: true
monitor_disabled: true
- Will include users disabled in the GUI when MUMC runs.
monitor_disabled: false
- Will exclude users disabled in the GUI when MUMC runs.
Let me know how this works out.
I am also experimenting with a way to allow a choice of how to select the users and libraries. I cannot imagine having to rebuild the config for 200 users.
The choices would be as follows.
print('Decide how to select users and/or libraries.')
print('0 - Select users and libraries; (i.e. Select specific users and the specific libraries to be ' + str(library_setup_behavior) + 'ed for each user)')
print('1 - Select users; (i.e. All libraries will be ' + str(library_setup_behavior) + 'ed for the selected users)')
print('2 - Select libraries; (i.e. Selected libraries will be ' + str(library_setup_behavior) + 'ed for all users)')
selection=input('Enter number (default ' + str(defaultvalue) + '): ')
I always have to re-learn how I implemented the user and library builders. And they are always a PITA to work with. No ETA on this yet.
Ouha fantastic, thank you very much for your speed.
I redid the configuration from scratch to be 100% sure. I seem to have an error, maybe it's related to my configuration:
----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
Time Stamp Start: 20240109114534
MUMC Version: 5.3.20-beta
MUMC Config Version: 5.3.20-beta
Emby Version: 4.8.0.66
Python Version: 3.9.2
OS Info: Linux-5.10.0-26-amd64-x86_64-with-glibc2.31
----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
Start...
Cleaning media for server at: https://URL:443/emby
----------------------------------------------------------------------------------------
Traceback (most recent call last):
File "/root/MUMC/./mumc.py", line 105, in <module>
MUMC()
File "/root/MUMC/./mumc.py", line 76, in MUMC
cfg=init_getMedia(cfg)
File "/root/MUMC/mumc_modules/mumc_get_media.py", line 713, in init_getMedia
this_users_info=get_single_user(user_info['user_id'],the_dict)
File "/root/MUMC/mumc_modules/mumc_user_queries.py", line 20, in get_single_user
data_all_users=data_all_users['Items']
KeyError: 'Items'
Config file:
---
version: 5.3.20-beta
basic_settings:
filter_statements:
movie:
played:
condition_days: -1
count_equality: '>='
count: 1
created:
condition_days: 1095
count_equality: ==
count: 0
behavioral_control: true
...
behavioral_statements:
movie:
favorited:
action: keep
user_conditional: any
played_conditional: ignore
action_control: 0
dynamic_behavior: false
extra:
genre: 0
library_genre: 0
whitetagged:
action: keep
user_conditional: all
played_conditional: ignore
action_control: 0
dynamic_behavior: false
tags: []
blacktagged:
action: delete
user_conditional: all
played_conditional: any_played
action_control: 0
dynamic_behavior: false
tags: []
whitelisted:
action: keep
user_conditional: all
played_conditional: any_any
action_control: 0
dynamic_behavior: false
blacklisted:
action: delete
user_conditional: all
played_conditional: all_created
action_control: 5
dynamic_behavior: false
...
trakt_fix:
set_missing_last_played_date:
movie: false
episode: false
audio: false
admin_settings:
server:
brand: emby
...
behavior:
list: blacklist
matching: byId
users:
monitor_disabled: false
...
api_controls:
attempts: 4
item_limit: 25
cache:
size: 32
fallback_behavior: LRU
minimum_age: 200
DEBUG: 0
I seem to have an error, maybe it's related to my configuration:
Yeah, script was requesting /Users/Query
; which returns a dictionary with a key called Items
that has a list of users as its value.
http://172.31.14.150:39647/Users/Query?api_key=e3232b6388f04637b83c6c549b49c393
Now script is requesting /Users
which returns a list of users; and has the common behavior with Jellyfin.
http://172.31.14.150:39647/Users?api_key=e3232b6388f04637b83c6c549b49c393
I plan to have another beta release sometime tonight to address that issue and some others.
To whoever may see this. Those are the API keys from my dev server. I change them often. And the IP is local cannot be accessed remotely.
@Floflobel
I seem to have an error, maybe it's related to my configuration:
This error should be fixed in the latest release v5.4.0.
Super cool, thank you so much for the quick addition of this feature which will greatly help me in my set-up! I think I'll manage to get MUMC on all my users now.
I'm taking the liberty of closing this ticket because for me it's done.
@Floflobel As promised I have been working on cleaning up the user and library builder so those with either many libraries or many users can create/edit the users and libraries more efficiently.
There is a v5.4.1-beta on the MUMC_dev branch. The next time you are creating/editing users and libraries in the config, give it a shot and let me know if the updates make your life a little easier when it comes to MUMC user management.
When creating/editing the config there will be a new question asking how you would like to build the user libraries. You will want to choose 2
. Which will only ask to select libraries and apply those libraries to all users that have access in the GUI to the selected libraries/folders.
Decide how to select users and/or libraries.
0 - Select users and libraries.
Select specific users and the specific libraries to be blacklisted for each user.
1 - Select users only.
Selected users will have all libraries blacklisted according to their access policy.
2 - Select libraries only.
Selected libraries will be blacklisted for all users according to their access policy.
Enter number (default 0 - Select users and libraries):
I am also experimenting with a way to allow a choice of how to select the users and libraries. I cannot imagine having to rebuild the config for 200 users.
The choices would be as follows.
print('Decide how to select users and/or libraries.') print('0 - Select users and libraries; (i.e. Select specific users and the specific libraries to be ' + str(library_setup_behavior) + 'ed for each user)') print('1 - Select users; (i.e. All libraries will be ' + str(library_setup_behavior) + 'ed for the selected users)') print('2 - Select libraries; (i.e. Selected libraries will be ' + str(library_setup_behavior) + 'ed for all users)') selection=input('Enter number (default ' + str(defaultvalue) + '): ')
I always have to re-learn how I implemented the user and library builders. And they are always a PITA to work with. No ETA on this yet.
That's great news! Thank you so much for all your hard work. I'll test this out when I have a moment and get back to you.
I'd like to come back to this ticket, but don't hesitate if you'd like me to open another.
I've tried the new version and thank you very much, the setup is much simpler and allows you to select all users with specific libraries. It's really cool.
I had started to make a python script to compensate for this but it's much cleaner now.
However, I get an error when I run the script, I think it doesn't like something in my configuration file.
----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
Time Stamp Start: 20240213212928
MUMC Version: 5.5.4-beta
MUMC Config Version: 5.5.4-beta
Emby Version: 4.8.1.0
Python Version: 3.9.2
OS Info: Linux-5.10.0-27-amd64-x86_64-with-glibc2.31
----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
Start...
Cleaning media for server at: https://streaming.domain:443/emby
----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
Get List Of Media For:
user1- 247c7554c10b4bb4934acafd01afcf5e
----------------------------------------------------------------------------------------
Traceback (most recent call last):
File "/dev/shm/MUMC/mumc.py", line 105, in <module>
MUMC()
File "/dev/shm/MUMC/mumc.py", line 76, in MUMC
cfg=init_getMedia(cfg)
File "/dev/shm/MUMC/mumc_modules/mumc_get_media.py", line 817, in init_getMedia
movie_returns=get_mediaItems(the_dict,the_dict['movie_dict']['media_type'],user_info,movie_returns)
File "/dev/shm/MUMC/mumc_modules/mumc_get_media.py", line 580, in get_mediaItems
var_dict['item_isWhitelisted']=get_isItemWhitelisted_Blacklisted('whitelist',item,user_info,the_dict)
File "/dev/shm/MUMC/mumc_modules/mumc_blacklist_whitelist.py", line 58, in get_isItemWhitelisted_Blacklisted
item_isWhitelisted_isBlacklisted, itemWhitelistedBlacklistedValue=get_isItemMatching_doesItemStartWith(ItemPath,user_wlbllib_path_json,the_dict)
File "/dev/shm/MUMC/mumc_modules/mumc_compare_items.py", line 60, in get_isItemMatching_doesItemStartWith
item_two = item_two.replace('\\','/')
AttributeError: 'list' object has no attribute 'replace'
Good. Glad this simplifies user management for you!
Ok, I'm willing to bet I've messed something up in this new user and library builder. Will you share your config?
If I cannot find the issue by looking at the config, I may need a debug log. But let's try the config first.
Sorry for the long wait, here's my setup.
I deleted all my users, leaving just two.
---
version: 5.5.4-beta
basic_settings:
filter_statements:
movie:
played:
condition_days: -1
count_equality: '>='
count: 1
created:
condition_days: 1095
count_equality: ==
count: 0
behavioral_control: true
episode:
played:
condition_days: -1
count_equality: '>='
count: 1
created:
condition_days: -1
count_equality: '>='
count: 1
behavioral_control: true
audio:
played:
condition_days: -1
count_equality: '>='
count: 1
created:
condition_days: -1
count_equality: '>='
count: 1
behavioral_control: true
advanced_settings:
filter_statements:
movie:
query_filter:
favorited: true
whitetagged: false
blacktagged: true
whitelisted: false
blacklisted: true
episode:
query_filter:
favorited: true
whitetagged: false
blacktagged: true
whitelisted: false
blacklisted: true
audio:
query_filter:
favorited: true
whitetagged: false
blacktagged: true
whitelisted: false
blacklisted: true
behavioral_statements:
movie:
favorited:
action: keep
user_conditional: any
played_conditional: ignore
action_control: 3
dynamic_behavior: false
extra:
genre: 0
library_genre: 0
whitetagged:
action: keep
user_conditional: all
played_conditional: ignore
action_control: 0
dynamic_behavior: false
tags: []
blacktagged:
action: delete
user_conditional: all
played_conditional: any_played
action_control: 0
dynamic_behavior: false
tags: []
whitelisted:
action: keep
user_conditional: all
played_conditional: any_any
action_control: 0
dynamic_behavior: false
blacklisted:
action: delete
user_conditional: all
played_conditional: all_created
action_control: 5
dynamic_behavior: false
episode:
favorited:
action: keep
user_conditional: any
played_conditional: ignore
action_control: 3
dynamic_behavior: false
extra:
genre: 0
season_genre: 0
series_genre: 0
library_genre: 0
studio_network: 0
studio_network_genre: 0
whitetagged:
action: keep
user_conditional: all
played_conditional: ignore
action_control: 0
dynamic_behavior: false
tags: []
blacktagged:
action: delete
user_conditional: all
played_conditional: any_played
action_control: 0
dynamic_behavior: false
tags: []
whitelisted:
action: keep
user_conditional: any
played_conditional: ignore
action_control: 3
dynamic_behavior: false
blacklisted:
action: delete
user_conditional: any
played_conditional: any_played
action_control: 3
dynamic_behavior: false
audio:
favorited:
action: keep
user_conditional: any
played_conditional: ignore
action_control: 3
dynamic_behavior: false
extra:
genre: 0
album_genre: 0
library_genre: 0
track_artist: 0
album_artist: 0
whitetagged:
action: keep
user_conditional: all
played_conditional: ignore
action_control: 0
dynamic_behavior: false
tags: []
blacktagged:
action: delete
user_conditional: all
played_conditional: any_played
action_control: 0
dynamic_behavior: false
tags: []
whitelisted:
action: keep
user_conditional: any
played_conditional: ignore
action_control: 3
dynamic_behavior: false
blacklisted:
action: delete
user_conditional: any
played_conditional: any_played
action_control: 3
dynamic_behavior: false
whitetags: []
blacktags: []
episode_control:
minimum_episodes: 0
minimum_played_episodes: 0
minimum_episodes_behavior: Max Played Min Unplayed
trakt_fix:
set_missing_last_played_date:
movie: false
episode: false
audio: false
console_controls:
headers:
script:
show: true
formatting:
font:
color: ''
style: ''
background:
color: ''
user:
show: true
formatting:
font:
color: ''
style: ''
background:
color: ''
summary:
show: true
formatting:
font:
color: ''
style: ''
background:
color: ''
footers:
script:
show: true
formatting:
font:
color: ''
style: ''
background:
color: ''
warnings:
script:
show: true
formatting:
font:
color: ''
style: ''
background:
color: ''
movie:
delete:
show: true
formatting:
font:
color: ''
style: ''
background:
color: ''
keep:
show: true
formatting:
font:
color: ''
style: ''
background:
color: ''
post_processing:
show: true
formatting:
font:
color: ''
style: ''
background:
color: ''
summary:
show: true
formatting:
font:
color: ''
style: ''
background:
color: ''
episode:
delete:
show: true
formatting:
font:
color: ''
style: ''
background:
color: ''
keep:
show: true
formatting:
font:
color: ''
style: ''
background:
color: ''
post_processing:
show: true
formatting:
font:
color: ''
style: ''
background:
color: ''
summary:
show: true
formatting:
font:
color: ''
style: ''
background:
color: ''
audio:
delete:
show: true
formatting:
font:
color: ''
style: ''
background:
color: ''
keep:
show: true
formatting:
font:
color: ''
style: ''
background:
color: ''
post_processing:
show: true
formatting:
font:
color: ''
style: ''
background:
color: ''
summary:
show: true
formatting:
font:
color: ''
style: ''
background:
color: ''
UPDATE_CONFIG: false
REMOVE_FILES: false
admin_settings:
server:
brand: emby
url: https://streaming.domain:443/emby
auth_key: XXXXXX
behavior:
list: blacklist
matching: byPath
users:
monitor_disabled: false
users:
- user_id: 247c7554c10b4bb4934acafd01afcf5e
user_name: user1
whitelist:
- lib_id: db4c1708cbb5dd1676284a40f2950aba
collection_type: movies
path: /media/storage3/films
network_path: ''
lib_enabled: true
- lib_id: db4c1708cbb5dd1676284a40f2950aba
collection_type: movies
path: /media/storage6/films
network_path: ''
lib_enabled: true
- lib_id: db4c1708cbb5dd1676284a40f2950aba
collection_type: movies
path: /media/storage4/films
network_path: ''
lib_enabled: true
- lib_id: db4c1708cbb5dd1676284a40f2950aba
collection_type: movies
path: /media/storage8/films
network_path: ''
lib_enabled: true
- lib_id: db4c1708cbb5dd1676284a40f2950aba
collection_type: movies
path: /media/storage2/films
network_path: ''
lib_enabled: true
- lib_id: db4c1708cbb5dd1676284a40f2950aba
collection_type: movies
path: /media/storage9/films
network_path: ''
lib_enabled: true
- lib_id: 4243b5a6131c8132dd863e2585f88056
collection_type: playlists
path: /var/lib/emby/data/playlists
network_path: ''
lib_enabled: true
- lib_id: 4243b5a6131c8132dd863e2585f88056
collection_type: playlists
path: /var/lib/emby/data/userplaylists
network_path: ''
lib_enabled: true
- lib_id: 23f368a8448168d1fd434a016eb66fb6
collection_type: tvshows
path: /media/storage3/manga
network_path: ''
lib_enabled: true
- lib_id: 23f368a8448168d1fd434a016eb66fb6
collection_type: tvshows
path: /media/storage6/manga
network_path: ''
lib_enabled: true
- lib_id: 23f368a8448168d1fd434a016eb66fb6
collection_type: tvshows
path: /media/storage7/manga
network_path: ''
lib_enabled: true
- lib_id: 23f368a8448168d1fd434a016eb66fb6
collection_type: tvshows
path: /media/storage4/manga
network_path: ''
lib_enabled: true
- lib_id: 23f368a8448168d1fd434a016eb66fb6
collection_type: tvshows
path: /media/storage8/manga
network_path: ''
lib_enabled: true
- lib_id: 23f368a8448168d1fd434a016eb66fb6
collection_type: tvshows
path: /media/storage2/manga
network_path: ''
lib_enabled: true
- lib_id: 23f368a8448168d1fd434a016eb66fb6
collection_type: tvshows
path: /media/storage9/manga
network_path: ''
lib_enabled: true
- lib_id: d565273fd114d77bdf349a2896867069
collection_type: tvshows
path: /media/storage3/series
network_path: ''
lib_enabled: true
- lib_id: d565273fd114d77bdf349a2896867069
collection_type: tvshows
path: /media/storage6/series
network_path: ''
lib_enabled: true
- lib_id: d565273fd114d77bdf349a2896867069
collection_type: tvshows
path: /media/storage7/series
network_path: ''
lib_enabled: true
- lib_id: d565273fd114d77bdf349a2896867069
collection_type: tvshows
path: /media/storage4/series
network_path: ''
lib_enabled: true
- lib_id: d565273fd114d77bdf349a2896867069
collection_type: tvshows
path: /media/storage8/series
network_path: ''
lib_enabled: true
- lib_id: d565273fd114d77bdf349a2896867069
collection_type: tvshows
path: /media/storage2/series
network_path: ''
lib_enabled: true
- lib_id: d565273fd114d77bdf349a2896867069
collection_type: tvshows
path: /media/storage9/series
network_path: ''
lib_enabled: true
blacklist:
- lib_id: db4c1708cbb5dd1676284a40f2950aba
collection_type: movies
path: /media/storage7/films
network_path: ''
lib_enabled: true
userPosition: 0
- user_id: 5417e14c6a3b4394866cbefe7bfaa025
user_name: user2
whitelist:
- lib_id: db4c1708cbb5dd1676284a40f2950aba
collection_type: movies
path: /media/storage3/films
network_path: ''
lib_enabled: true
- lib_id: db4c1708cbb5dd1676284a40f2950aba
collection_type: movies
path: /media/storage6/films
network_path: ''
lib_enabled: true
- lib_id: db4c1708cbb5dd1676284a40f2950aba
collection_type: movies
path: /media/storage4/films
network_path: ''
lib_enabled: true
- lib_id: db4c1708cbb5dd1676284a40f2950aba
collection_type: movies
path: /media/storage8/films
network_path: ''
lib_enabled: true
- lib_id: db4c1708cbb5dd1676284a40f2950aba
collection_type: movies
path: /media/storage2/films
network_path: ''
lib_enabled: true
- lib_id: db4c1708cbb5dd1676284a40f2950aba
collection_type: movies
path: /media/storage9/films
network_path: ''
lib_enabled: true
- lib_id: 4243b5a6131c8132dd863e2585f88056
collection_type: playlists
path: /var/lib/emby/data/playlists
network_path: ''
lib_enabled: true
- lib_id: 4243b5a6131c8132dd863e2585f88056
collection_type: playlists
path: /var/lib/emby/data/userplaylists
network_path: ''
lib_enabled: true
- lib_id: 23f368a8448168d1fd434a016eb66fb6
collection_type: tvshows
path: /media/storage3/manga
network_path: ''
lib_enabled: true
- lib_id: 23f368a8448168d1fd434a016eb66fb6
collection_type: tvshows
path: /media/storage6/manga
network_path: ''
lib_enabled: true
- lib_id: 23f368a8448168d1fd434a016eb66fb6
collection_type: tvshows
path: /media/storage7/manga
network_path: ''
lib_enabled: true
- lib_id: 23f368a8448168d1fd434a016eb66fb6
collection_type: tvshows
path: /media/storage4/manga
network_path: ''
lib_enabled: true
- lib_id: 23f368a8448168d1fd434a016eb66fb6
collection_type: tvshows
path: /media/storage8/manga
network_path: ''
lib_enabled: true
- lib_id: 23f368a8448168d1fd434a016eb66fb6
collection_type: tvshows
path: /media/storage2/manga
network_path: ''
lib_enabled: true
- lib_id: 23f368a8448168d1fd434a016eb66fb6
collection_type: tvshows
path: /media/storage9/manga
network_path: ''
lib_enabled: true
- lib_id: d565273fd114d77bdf349a2896867069
collection_type: tvshows
path: /media/storage3/series
network_path: ''
lib_enabled: true
- lib_id: d565273fd114d77bdf349a2896867069
collection_type: tvshows
path: /media/storage6/series
network_path: ''
lib_enabled: true
- lib_id: d565273fd114d77bdf349a2896867069
collection_type: tvshows
path: /media/storage7/series
network_path: ''
lib_enabled: true
- lib_id: d565273fd114d77bdf349a2896867069
collection_type: tvshows
path: /media/storage4/series
network_path: ''
lib_enabled: true
- lib_id: d565273fd114d77bdf349a2896867069
collection_type: tvshows
path: /media/storage8/series
network_path: ''
lib_enabled: true
- lib_id: d565273fd114d77bdf349a2896867069
collection_type: tvshows
path: /media/storage2/series
network_path: ''
lib_enabled: true
- lib_id: d565273fd114d77bdf349a2896867069
collection_type: tvshows
path: /media/storage9/series
network_path: ''
lib_enabled: true
- lib_id: cfb3602ad86e4cb99c8c959cb411b877
collection_type: Movies
path: /var/lib/emby/data/top-picks
network_path: ''
lib_enabled: true
blacklist:
- lib_id: db4c1708cbb5dd1676284a40f2950aba
collection_type: movies
path: /media/storage7/films
network_path: ''
lib_enabled: true
userPosition: 1
# ....
api_controls:
attempts: 4
item_limit: 25
cache:
size: 32
fallback_behavior: LRU
minimum_age: 200
DEBUG: 0
...
Sorry for the delay. I am looking into updating this portion of the script. Once I have something I will let you know.
Everything looks good now, and the script runs smoothly. Thanks a lot!
Awesome! When I get a chance I will merge the MUMC_dev changes into the MUMC_latest branch and make an official release.
Hello,
I try to run the script on all my users (~200) but every time it gets killed. I see the RAM increasing as it runs on all the users. Is there any way to help? I've left it 10GB of RAM to run quietly. I'll try to get some logs in DEBUG 4 mode, but it may take a while for it to crash.