Re: MovieGrabber - Completely Automated Movie Downloader
Posted: May 26th, 2014, 5:58 am
Thanks for letting me know splnut and good luck with your parity drive replacement
https://237678.vipkidinterhk.tech/
thx binhex!! Appreciate your effortbinhex wrote:Just in case you guys didn't spot it there is new version released, should be visible in the ui at the bottom.
Hi Binhexbinhex wrote:hi Neo_x, will add the feature "delete other matching movies on queue release with confirmation" to my list, location of beta's here:-
https://sourceforge.net/projects/movieg ... iles/beta/
thx binhexbinhex wrote:Hi neo, I will take another look at this and let you know.
Code: Select all
[30/Jul/2014:12:16:58] HTTP Traceback (most recent call last):
File "/opt/moviegrabber/lib/site-packages/cherrypy/_cprequest.py", line 656, in respond
response.body = self.handler()
File "/opt/moviegrabber/lib/site-packages/cherrypy/lib/encoding.py", line 188, in __call__
self.body = self.oldhandler(*args, **kwargs)
File "/opt/moviegrabber/lib/site-packages/cherrypy/_cpdispatch.py", line 34, in __call__
return self.callable(*self.args, **self.kwargs)
File "/opt/moviegrabber/MovieGrabber.py", line 6148, in run_now
SearchIndexThread().checks()
File "/opt/moviegrabber/MovieGrabber.py", line 6346, in checks
self.run()
File "/opt/moviegrabber/MovieGrabber.py", line 6388, in run
search_index_function = getattr(SearchIndex(self.download_type,self.index_site_item), self.search_index_function)
File "/opt/moviegrabber/MovieGrabber.py", line 1499, in __init__
self.movies_replace_cache = list(itertools.chain.from_iterable(os.walk(root_path) for root_path in movies_replace_dir_list))
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 284, in walk
if isdir(join(top, name)):
File "/usr/lib/python2.7/posixpath.py", line 80, in join
path += '/' + b
UnicodeDecodeError: 'ascii' codec can't decode byte 0xf8 in position 17: ordinal not in range(128)
Thanks for the reply. I've run previous versions of mg on my ubuntu vm (not docker) without locale being an issue.binhex wrote:Hi joelones this is due to your host not having the locale set correctly and thus it falls back to ASCII char set which then fails when attempting to read a non ascii character. Eroz had the same issue with a docker of mg which was sorted by setting the locale correctly.
Code: Select all
$ locale
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
$ sudo locale-gen en_US.UTF-8
Generating locales...
en_US.UTF-8... up-to-date
Generation complete.
$ sudo dpkg-reconfigure locales
Generating locales...
en_AG.UTF-8... done
en_AU.UTF-8... done
en_BW.UTF-8... done
en_CA.UTF-8... done
en_DK.UTF-8... done
en_GB.UTF-8... done
en_HK.UTF-8... done
en_IE.UTF-8... done
en_IN.UTF-8... done
en_NG.UTF-8... done
en_NZ.UTF-8... done
en_PH.UTF-8... done
en_SG.UTF-8... done
en_US.UTF-8... up-to-date
en_ZA.UTF-8... done
en_ZM.UTF-8... done
en_ZW.UTF-8... done
Generation complete.
Code: Select all
Traceback (most recent call last):
File "/opt/moviegrabber/lib/site-packages/cherrypy/_cprequest.py", line 656, in respond
response.body = self.handler()
File "/opt/moviegrabber/lib/site-packages/cherrypy/lib/encoding.py", line 188, in __call__
self.body = self.oldhandler(*args, **kwargs)
File "/opt/moviegrabber/lib/site-packages/cherrypy/_cpdispatch.py", line 34, in __call__
return self.callable(*self.args, **self.kwargs)
File "/opt/moviegrabber/./MovieGrabber.py", line 6148, in run_now
SearchIndexThread().checks()
File "/opt/moviegrabber/./MovieGrabber.py", line 6346, in checks
self.run()
File "/opt/moviegrabber/./MovieGrabber.py", line 6388, in run
search_index_function = getattr(SearchIndex(self.download_type,self.index_site_item), self.search_index_function)
File "/opt/moviegrabber/./MovieGrabber.py", line 1499, in __init__
self.movies_replace_cache = list(itertools.chain.from_iterable(os.walk(root_path) for root_path in movies_replace_dir_list))
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 284, in walk
if isdir(join(top, name)):
File "/usr/lib/python2.7/posixpath.py", line 80, in join
path += '/' + b
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd7 in position 19: ordinal not in range(128)
Code: Select all
1. create jail (type of jail = plugin)
2. jls
3. jexec <# of MovieGrabber jail> csh
4. pkg_add python py27-sqlite3
5. echo 'moviegrabber_enable="YES"' >> /etc/rc.conf
6. vi /etc/rc.d/moviegrabber
Paste below:
#!/bin/sh
#
# PROVIDE: moviegrabber
# REQUIRE: DAEMON
# KEYWORD: shutdown
# Add the following lines to /etc/rc.conf to enable moviegrabber:
# moviegrabber_enable: Set to NO by default. Set it to YES to enable it.
# moviegrabber_user: The user account moviegrabber daemon runs as what
# you want it to be.
# moviegrabber_dir: Directory where moviegrabber lives.
# Default: /usr/local/moviegrabberServer
. /etc/rc.subr
name="moviegrabber"
rcvar=${name}_enable
load_rc_config ${name}
: ${moviegrabber_enable:=YES}
: ${moviegrabber_user:=root} #default is root
: ${moviegrabber_dir:=/moviegrabber}
export LANG=en_US.UTF-8
pidfile="$moviegrabber_dir/moviegrabber.pid"
command="/usr/local/bin/python2.7"
command_args="${moviegrabber_dir}/MovieGrabber.py --daemon --pidfile $pidfile"
start_precmd="${name}_prestart"
moviegrabber_prestart() {
if [ -f $pidfile ]; then
if [ ! $(pgrep -F $pidfile) ]; then
rm $pidfile
echo "Removing stale pidfile."
fi
fi
}
run_rc_command "$1"
7. chmod +x /etc/rc.d/moviegrabber
8. copy moviegrabber folder to root of your newly created jail
Code: Select all
Traceback (most recent call last):
File "/opt/moviegrabber/lib/site-packages/cherrypy/_cprequest.py", line 656, in respond
response.body = self.handler()
File "/opt/moviegrabber/lib/site-packages/cherrypy/lib/encoding.py", line 188, in __call__
self.body = self.oldhandler(*args, **kwargs)
File "/opt/moviegrabber/lib/site-packages/cherrypy/_cpdispatch.py", line 34, in __call__
return self.callable(*self.args, **self.kwargs)
File "/opt/moviegrabber/./MovieGrabber.py", line 6166, in run_now
SearchIndexThread().checks()
File "/opt/moviegrabber/./MovieGrabber.py", line 6364, in checks
self.run()
File "/opt/moviegrabber/./MovieGrabber.py", line 6406, in run
search_index_function = getattr(SearchIndex(self.download_type,self.index_site_item), self.search_index_function)
File "/opt/moviegrabber/./MovieGrabber.py", line 1517, in __init__
self.movies_replace_cache = list(itertools.chain.from_iterable(string_decode(os.walk(root_path)) for root_path in movies_replace_dir_list))
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 294, in walk
for x in walk(new_path, topdown, onerror, followlinks):
File "/usr/lib/python2.7/os.py", line 284, in walk
if isdir(join(top, name)):
File "/usr/lib/python2.7/posixpath.py", line 80, in join
path += '/' + b
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd7 in position 19: ordinal not in range(128)
Code: Select all
Traceback (most recent call last):
File "/opt/moviegrabber/lib/site-packages/cherrypy/_cprequest.py", line 656, in respond
response.body = self.handler()
File "/opt/moviegrabber/lib/site-packages/cherrypy/lib/encoding.py", line 188, in __call__
self.body = self.oldhandler(*args, **kwargs)
File "/opt/moviegrabber/lib/site-packages/cherrypy/_cpdispatch.py", line 34, in __call__
return self.callable(*self.args, **self.kwargs)
File "/opt/moviegrabber/./MovieGrabber.py", line 5601, in index
template.sqlite_history_count = sql_session.query(ResultsDBHistory).count()
File "/opt/moviegrabber/lib/site-packages/sqlalchemy/orm/query.py", line 2593, in count
return self.from_self(col).scalar()
File "/opt/moviegrabber/lib/site-packages/sqlalchemy/orm/query.py", line 2392, in scalar
ret = self.one()
File "/opt/moviegrabber/lib/site-packages/sqlalchemy/orm/query.py", line 2361, in one
ret = list(self)
File "/opt/moviegrabber/lib/site-packages/sqlalchemy/orm/query.py", line 2404, in __iter__
return self._execute_and_instances(context)
File "/opt/moviegrabber/lib/site-packages/sqlalchemy/orm/query.py", line 2419, in _execute_and_instances
result = conn.execute(querycontext.statement, self._params)
File "/opt/moviegrabber/lib/site-packages/sqlalchemy/engine/base.py", line 720, in execute
return meth(self, multiparams, params)
File "/opt/moviegrabber/lib/site-packages/sqlalchemy/sql/elements.py", line 317, in _execute_on_connection
return connection._execute_clauseelement(self, multiparams, params)
File "/opt/moviegrabber/lib/site-packages/sqlalchemy/engine/base.py", line 817, in _execute_clauseelement
compiled_sql, distilled_params
File "/opt/moviegrabber/lib/site-packages/sqlalchemy/engine/base.py", line 947, in _execute_context
context)
File "/opt/moviegrabber/lib/site-packages/sqlalchemy/engine/base.py", line 1108, in _handle_dbapi_exception
exc_info
File "/opt/moviegrabber/lib/site-packages/sqlalchemy/util/compat.py", line 185, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb)
File "/opt/moviegrabber/lib/site-packages/sqlalchemy/engine/base.py", line 940, in _execute_context
context)
File "/opt/moviegrabber/lib/site-packages/sqlalchemy/engine/default.py", line 435, in do_execute
cursor.execute(statement, parameters)
OperationalError: (OperationalError) no such table: history u'SELECT count(*) AS count_1 \nFROM (SELECT history.id AS history_id, history.imdbposter AS history_imdbposter, history.imdblink AS history_imdblink, history.imdbplot AS history_imdbplot, history.imdbdirectors AS history_imdbdirectors, history.imdbwriters AS history_imdbwriters, history.imdbactors AS history_imdbactors, history.imdbcharacters AS history_imdbcharacters, history.imdbgenre AS history_imdbgenre, history.imdbname AS history_imdbname, history.imdbyear AS history_imdbyear, history.imdbruntime AS history_imdbruntime, history.imdbrating AS history_imdbrating, history.imdbvotes AS history_imdbvotes, history.imdbcert AS history_imdbcert, history.postdate AS history_postdate, history.postdatesort AS history_postdatesort, history.postsize AS history_postsize, history.postsizesort AS history_postsizesort, history.postnfo AS history_postnfo, history.postdetails AS history_postdetails, history.postname AS history_postname, history.postnamestrip AS history_postnamestrip, history.postdl AS history_postdl, history.dlstatus AS history_dlstatus, history.dlname AS history_dlname, history.dltype AS history_dltype, history.procresult AS history_procresult, history.procdate AS history_procdate, history.procdatesort AS history_procdatesort \nFROM history) AS anon_1' ()
Powered by CherryPy 3.2.2