-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathchangelog.txt
187 lines (148 loc) · 7.98 KB
/
changelog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
sagetv-for-plexmediacenter
ChangeLog
2017-05-09 Raymond Chi <[email protected]>
* Updated installer to request permament PLEX token.
2017-02-15 Raymond Chi <[email protected]>
* Fix issue with synctool crash on unicode filenames.
2017-02-05 Raymond Chi <[email protected]>
* Updated to use X-Plex-Token
- updated config.py/plexapi.py to read token from json file
- updated agent/synctool to make use of the token
- updated installer to ask for token during install
* updated PLEX search path to include unRAId location
- updated for both installer/config.py
2016-07-14 mgpaulus
* Adding a check for funky EP id causing exception.
2015-11-06 Raymond Chi <[email protected]>
* Implemented two way sync in sageplex_sync tool.
- using normalized watch status representation to simplify code
and handle corner cases better.
2015-10-15 Raymond Chi <[email protected]>
* Fixed Agent issue when show/PeopleListInShow have no data.
2015-08-11 Raymond Chi <[email protected]>
* Updated installer to set SAGEPLEX_CFG env var on Windows.
- handles customized PLEX data location
2015-06-16 Raymond Chi <[email protected]>
* Added Installer for Windows/MacOS/Linux.
* Detect customized PLEX data location.
* Pass SageTV/PLEX dir location to installer.
2015-06-07 Raymond Chi <[email protected]>
* fixed CFG path issue when running on linux
2015-05-22 Raymond Chi <[email protected]>
* rewrote multi-segment handling code in tv scanner
* added multi-segment support to movie scanner
2015-05-06 Raymond Chi <[email protected]>
* set a more intelligent episode no if one is not available.
* Skip setting resume pos if within 5% of ending.
* Added option to add/delete/refresh library to sync tool.
- To bypass a PLEX web UI bug for adding library
2015-04-27 Raymond Chi <[email protected]>
* Set resume position in PLEX video during Agent scan.
* Added sageplex_sync tool to sync watch status independently
- standalone tool to synchronize watched/resume status
- both python and win32 packaged binary provided
* Tested on Mac. Works, no code changes required.
2015-04-10 Raymond Chi <[email protected]>
* Fixed movie detection in both scanners.
- TV scanner will now skip recorded movies.
- Movie scanner will only pull in recorded movies.
- Both will still only pull in recorded contents.
* Rotate scanner logs when size exceeds certain limit.
2015-04-06 Raymond Chi <[email protected]>
* general code cleanup on all files
- fixed tab/space usage on all files so it looks correct
everywhere (browser, notepad, etc)
- standarized on indent size 4 for all source files.
- removed nested/multi-level if statements when possible so the
code blocks are not indented all the way to the right. ie,
instead of multi-level "if cond1 then if cond2 .." style where
the main code block is heavily indented to the right, used "if
not cond1 then continue (loop)" style so subsequent test for
cond2 and beyond have the same indent level. This makes the
code much easier to read/follow/debug.
- wrapped long comment/code lines (emacs justify option)
* fully documented all source files
- added comments to each source file regarding what the file is
for, and useful links for additional info/background.
- used javadoc style comments for javascript files.
- used python docstring for in python files.
- the source code should be significantly easier to follow for
new contributors.
* sagex\services\plex.js code cleanup/fix:
- fixed loop: continue -> break
- stop outer loop when mediaFile has a value. The previous code
would continue to run the loop even if we found a match.
- fixed bug where occasionally getAbsolutePath() gets called on
an undefined object
* allow user to configure scanner/agent via a sageplex_cfg.json file
- code will try to find the configuration file in plex data
directory. user can override this with an environment variable.
- removed all hard coded configuration settings from various
source files.
* created a common/sageplex module to hold common code that are used
by both scanner and agent.
- created plexlog.py wrapper for logging inside scanner/agent
- created config.py to handle scanner/agent configuration
- created sagex.py to handle all SageTV sagex API calls
* Scanners code cleanup/refactoring
- refactored common code into sageplex module
- replaced printf with logging via the plexlog module
- updated logging to use debug/info/warn level as appropriate
- track some statistics during loop: current, added, total
- use statistics in log during and after loop to show progress
- fixed check for movie/tv detection
- updated code in main loop.
- only call Stack.Scan() after all files have been processed and
files were added to mediaList.
- use simple python truthy/falsy test instead of testing for
empty string, None, etc explicitly.
- removed simplejson module, not needed as plex has it in
addition to providing a JSON interface.
* Agent code cleanup/refactoring
- refactored common code into sageplex module
- fixed problem of fanart downloading. the original code was
setting show/episode level fanart without checking whether the
response from sagex is valid or not. Although plex handled
this, this prevented subsequent episode with correct fanart
from updating a show fanart that was set to non image from
previous episodes (because its already set). With the updated
code, show will get fanart if at least one of the episodes in
it has fanart.
- synchronized calls into sagex API. there seems to be some
issues when multiple thrads are calling into it heavily, as is
the case when the library contains a lot of data on initial
scan. This can be turned on/off via configuration file.
- various performance improvements. Agent.search() has been
greatly simplified with no call to sagex. Agent.update()
correctly craws its season/episode tree to get the files and
query sage directly without relying on a mfid set in search().
the number of calls we make to sagex is reduced quite a bit.
- no longer rely on getMediaFilesForShow() api. This is a very
slow API and is used for each show. the code has been updated
to get the files directly from PLEX media object rather than
asking Sage.
- Modularized Agent.update() code into various functions.
- Update show information when we encounter 1st episode in
season/episode loop, not before the loop as a separate step.
- use show premier date for Show year, not episode air date.
- correctly set multiple show category.
- lots of misc code cleanup.
* Updated source tree directory structure.
- use 'src' instead of 'branches' as branch have a different
meaning in version control.
- organized sources into logical groupings (sagetv/plex,
agent/scanner, etc).
- included readme files at each level.
- use Makefile to build the output zip file for user to
download with the appropriate folder structure. this allowed
the src tree to be simplified.
2015-03-28 Raymond Chi <[email protected]>
* checked in r7 code not in source from 2013-12-10
- SageTV-BMT-Agent/BMTAgentTVShows.bundle/Contents/Code/__init__.py
- SageTVScanner/Scanners/Movies/SageTV Movie Scanner.py
- SageTVScanner/Scanners/Series/SageTV Scanner.py
- author date set to 2013-12-10 with commit date current
2015-03-24 Raymond Chi <[email protected]>
* Exported project from Google Code to Github
- from: https://code.google.com/p/sagetv-for-plexmediacenter/
- to: https://github.com/ai7/sagetv-for-plexmediacenter