icon fix + anteo start

pull/1/head
DiMartinoXBMC 2015-12-16 23:01:36 +03:00
parent 3e7fa281e9
commit 2b7017b2b3
5 changed files with 614 additions and 228 deletions

View File

@ -2,37 +2,11 @@
<project version="4">
<component name="ChangeListManager">
<list default="true" id="56e91349-2444-4553-bc78-90c2bab49e9c" name="Default" comment="">
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/Anteoloader.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/changelog.txt" afterPath="$PROJECT_DIR$/changelog.txt" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/default.py" afterPath="$PROJECT_DIR$/default.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/resources/__init__.py" afterPath="$PROJECT_DIR$/resources/__init__.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/resources/language/English/strings.xml" afterPath="$PROJECT_DIR$/resources/language/English/strings.xml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/resources/language/Russian/strings.xml" afterPath="$PROJECT_DIR$/resources/language/Russian/strings.xml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/resources/pyxbmct/addonwindow.py" afterPath="$PROJECT_DIR$/resources/pyxbmct/addonwindow.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/resources/scrapers/cache.py" afterPath="$PROJECT_DIR$/resources/scrapers/cache.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/resources/scrapers/fuzzywuzzy/StringMatcher.py" afterPath="$PROJECT_DIR$/resources/scrapers/fuzzywuzzy/StringMatcher.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/resources/scrapers/fuzzywuzzy/__init__.py" afterPath="$PROJECT_DIR$/resources/scrapers/fuzzywuzzy/__init__.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/resources/scrapers/fuzzywuzzy/fuzz.py" afterPath="$PROJECT_DIR$/resources/scrapers/fuzzywuzzy/fuzz.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/resources/scrapers/fuzzywuzzy/process.py" afterPath="$PROJECT_DIR$/resources/scrapers/fuzzywuzzy/process.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/resources/scrapers/fuzzywuzzy/string_processing.py" afterPath="$PROJECT_DIR$/resources/scrapers/fuzzywuzzy/string_processing.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/resources/scrapers/html.py" afterPath="$PROJECT_DIR$/resources/scrapers/html.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/resources/scrapers/kinopoisk/HTTP.py" afterPath="$PROJECT_DIR$/resources/scrapers/kinopoisk/HTTP.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/resources/scrapers/kinopoisk/__init__.py" afterPath="$PROJECT_DIR$/resources/scrapers/kinopoisk/__init__.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/resources/scrapers/kinopoisk/common.py" afterPath="$PROJECT_DIR$/resources/scrapers/kinopoisk/common.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/resources/scrapers/kinopoisk/pageparser.py" afterPath="$PROJECT_DIR$/resources/scrapers/kinopoisk/pageparser.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/resources/scrapers/kinopoisk/pluginsettings.py" afterPath="$PROJECT_DIR$/resources/scrapers/kinopoisk/pluginsettings.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/resources/scrapers/kinopoisk/translit.py" afterPath="$PROJECT_DIR$/resources/scrapers/kinopoisk/translit.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/resources/scrapers/net.py" afterPath="$PROJECT_DIR$/resources/scrapers/net.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/resources/scrapers/scrapers.py" afterPath="$PROJECT_DIR$/resources/scrapers/scrapers.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/resources/scrapers/tmdb.py" afterPath="$PROJECT_DIR$/resources/scrapers/tmdb.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/resources/scrapers/tmdbs.py" afterPath="$PROJECT_DIR$/resources/scrapers/tmdbs.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/resources/scrapers/tvdb.py" afterPath="$PROJECT_DIR$/resources/scrapers/tvdb.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/resources/settings.xml" afterPath="$PROJECT_DIR$/resources/settings.xml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/resources/skins/DialogReviews.py" afterPath="$PROJECT_DIR$/resources/skins/DialogReviews.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/resources/utorrent/__init__.py" afterPath="$PROJECT_DIR$/resources/utorrent/__init__.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/resources/utorrent/dopal/class_defs.py" afterPath="$PROJECT_DIR$/resources/utorrent/dopal/class_defs.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/resources/utorrent/dopal/logutils.py" afterPath="$PROJECT_DIR$/resources/utorrent/dopal/logutils.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/resources/utorrent/dopal/persistency.py" afterPath="$PROJECT_DIR$/resources/utorrent/dopal/persistency.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/Core.py" afterPath="$PROJECT_DIR$/Core.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/Downloader.py" afterPath="$PROJECT_DIR$/Downloader.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/addon.xml" afterPath="$PROJECT_DIR$/addon.xml" />
</list>
<ignored path="plugin.video.torrenter.iws" />
<ignored path=".idea/workspace.xml" />
@ -62,11 +36,11 @@
<splitter split-orientation="horizontal" split-proportion="0.5">
<split-first>
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file leaf-file-name="functions.py" pinned="false" current-in-tab="true">
<file leaf-file-name="functions.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/functions.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.53114754">
<caret line="1656" column="7" selection-start-line="1656" selection-start-column="7" selection-end-line="1656" selection-end-column="7" />
<state vertical-scroll-proportion="0.0">
<caret line="1564" column="7" selection-start-line="1564" selection-start-column="4" selection-end-line="1564" selection-end-column="7" />
<folding>
<element signature="e#24#832#1" expanded="false" />
</folding>
@ -74,25 +48,59 @@
</provider>
</entry>
</file>
<file leaf-file-name="RuTrackerOrg.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/../torrenter.searcher.RuTrackerOrg/RuTrackerOrg.py">
<file leaf-file-name="Anteoloader.py" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/Anteoloader.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="1.3591772">
<caret line="98" column="53" selection-start-line="98" selection-start-column="53" selection-end-line="98" selection-end-column="53" />
<folding>
<element signature="e#787#800#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="engine.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/../script.module.torrent2http/lib/torrent2http/engine.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="75" column="32" selection-start-line="75" selection-start-column="32" selection-end-line="75" selection-end-column="32" />
<caret line="17" column="21" selection-start-line="17" selection-start-column="21" selection-end-line="17" selection-end-column="21" />
<folding>
<element signature="e#24#836#1" expanded="false" />
<element signature="e#2290#2302#0" expanded="false" />
<element signature="e#2846#3212#0" expanded="false" />
<element signature="e#3244#3513#0" expanded="false" />
<element signature="e#3554#8476#0" expanded="false" />
<element signature="e#8521#9792#0" expanded="false" />
<element signature="e#9844#10092#0" expanded="false" />
<element signature="e#10123#11244#0" expanded="false" />
<element signature="e#425#493#1" expanded="false" />
<element signature="e#729#1169#0" expanded="false" />
<element signature="e#1212#1326#0" expanded="false" />
<element signature="e#1383#3673#0" expanded="false" />
<element signature="e#1383#1547#1" expanded="false" />
<element signature="e#10009#10695#0" expanded="false" />
<element signature="e#10009#10148#1" expanded="false" />
<element signature="e#10744#15304#0" expanded="false" />
<element signature="e#10744#11054#1" expanded="false" />
<element signature="e#15362#15961#0" expanded="false" />
<element signature="e#15362#15776#1" expanded="false" />
<element signature="e#18746#19093#0" expanded="false" />
<element signature="e#18746#18954#1" expanded="false" />
<element signature="e#19127#19178#0" expanded="false" />
<element signature="e#19233#19415#0" expanded="false" />
<element signature="e#19468#20511#0" expanded="false" />
<element signature="e#20567#21033#0" expanded="false" />
<element signature="e#20567#20983#1" expanded="false" />
<element signature="e#21064#22234#0" expanded="false" />
<element signature="e#21064#21229#1" expanded="false" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="__init__.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/../script.module.torrent2http/lib/torrent2http/__init__.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="32" column="13" selection-start-line="32" selection-start-column="0" selection-end-line="32" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
</file>
</leaf>
</split-first>
<split-second>
@ -101,30 +109,63 @@
<entry file="file://$PROJECT_DIR$/Player.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="278" column="31" selection-start-line="278" selection-start-column="31" selection-end-line="278" selection-end-column="31" />
<caret line="458" column="22" selection-start-line="458" selection-start-column="22" selection-end-line="458" selection-end-column="22" />
<folding>
<element signature="e#24#832#1" expanded="false" />
<element signature="e#1950#3666#0" expanded="false" />
<element signature="e#2001#2656#0" expanded="false" />
<element signature="e#2686#2864#0" expanded="false" />
<element signature="e#2894#3072#0" expanded="false" />
<element signature="e#3103#3114#0" expanded="false" />
<element signature="e#3158#3175#0" expanded="false" />
<element signature="e#3228#3320#0" expanded="false" />
<element signature="e#3395#3666#0" expanded="false" />
<element signature="e#6622#7073#0" expanded="false" />
<element signature="e#7112#8392#0" expanded="false" />
<element signature="e#8424#11253#0" expanded="false" />
<element signature="e#11289#13581#0" expanded="false" />
<element signature="e#13630#14978#0" expanded="false" />
<element signature="e#15021#15152#0" expanded="false" />
<element signature="e#15195#15278#0" expanded="false" />
<element signature="e#15320#15450#0" expanded="false" />
<element signature="e#15493#15624#0" expanded="false" />
<element signature="e#15695#15828#0" expanded="false" />
<element signature="e#15858#18558#0" expanded="false" />
<element signature="e#18604#19147#0" expanded="false" />
<element signature="e#19182#19323#0" expanded="false" />
<element signature="e#19364#19700#0" expanded="false" />
<element signature="e#19733#19990#0" expanded="false" />
<element signature="e#20032#20127#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="Libtorrent.py" pinned="false" current-in-tab="true">
<file leaf-file-name="Libtorrent.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Libtorrent.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.33770493">
<caret line="325" column="26" selection-start-line="325" selection-start-column="26" selection-end-line="325" selection-end-column="26" />
<state vertical-scroll-proportion="0.0">
<caret line="48" column="55" selection-start-line="48" selection-start-column="44" selection-end-line="48" selection-end-column="55" />
<folding>
<element signature="e#24#836#1" expanded="false" />
<element signature="e#6352#7821#0" expanded="false" />
<element signature="e#9165#9297#0" expanded="false" />
<element signature="e#9338#9472#0" expanded="false" />
<element signature="e#9506#9628#0" expanded="false" />
<element signature="e#9662#9784#0" expanded="false" />
<element signature="e#9834#9881#0" expanded="false" />
<element signature="e#10075#10389#0" expanded="false" />
<element signature="e#10435#10605#0" expanded="false" />
<element signature="e#10661#10968#0" expanded="false" />
<element signature="e#11026#11337#0" expanded="false" />
<element signature="e#11621#12998#0" expanded="false" />
<element signature="e#13043#13971#0" expanded="false" />
<element signature="e#14008#16484#0" expanded="false" />
<element signature="e#16524#17167#0" expanded="false" />
<element signature="e#17205#17906#0" expanded="false" />
<element signature="e#17943#18045#0" expanded="false" />
<element signature="e#18137#19309#0" expanded="false" />
<element signature="e#19346#19750#0" expanded="false" />
<element signature="e#19781#21708#0" expanded="false" />
<element signature="e#21754#22851#0" expanded="false" />
<element signature="e#22886#23029#0" expanded="false" />
</folding>
@ -132,18 +173,6 @@
</provider>
</entry>
</file>
<file leaf-file-name="default.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/default.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="35" column="20" selection-start-line="35" selection-start-column="20" selection-end-line="35" selection-end-column="20" />
<folding>
<marker date="1439305745455" expanded="true" signature="838:849" placeholder="import ..." />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="SearcherABC.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/SearcherABC.py">
<provider selected="true" editor-type-id="text-editor">
@ -165,25 +194,58 @@
</provider>
</entry>
</file>
<file leaf-file-name="Core.py" pinned="false" current-in-tab="false">
<file leaf-file-name="Core.py" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/Core.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="1204" column="0" selection-start-line="1204" selection-start-column="0" selection-end-line="1204" selection-end-column="0" />
<state vertical-scroll-proportion="8.248695">
<caret line="445" column="43" selection-start-line="445" selection-start-column="43" selection-end-line="445" selection-end-column="43" />
<folding>
<element signature="e#24#837#1" expanded="false" />
<element signature="e#93129#93413#0" expanded="false" />
<element signature="e#5626#17591#0" expanded="false" />
<element signature="e#17632#18363#0" expanded="false" />
<element signature="e#29011#30238#0" expanded="false" />
<element signature="e#34740#36829#0" expanded="false" />
<element signature="e#36871#38601#0" expanded="false" />
<element signature="e#38651#43413#0" expanded="false" />
<element signature="e#43478#49892#0" expanded="false" />
<element signature="e#49956#52466#0" expanded="false" />
<element signature="e#52513#53380#0" expanded="false" />
<element signature="e#53429#55618#0" expanded="false" />
<element signature="e#57189#57606#0" expanded="false" />
<element signature="e#57656#57807#0" expanded="false" />
<element signature="e#66557#66596#0" expanded="false" />
<element signature="e#66645#67425#0" expanded="false" />
<element signature="e#67475#69959#0" expanded="false" />
<element signature="e#70004#71204#0" expanded="false" />
<element signature="e#71252#73080#0" expanded="false" />
<element signature="e#73125#73998#0" expanded="false" />
<element signature="e#74043#74644#0" expanded="false" />
<element signature="e#74692#78270#0" expanded="false" />
<element signature="e#78318#79561#0" expanded="false" />
<element signature="e#79611#79707#0" expanded="false" />
<element signature="e#79768#85094#0" expanded="false" />
<element signature="e#85138#85195#0" expanded="false" />
<element signature="e#85249#88483#0" expanded="false" />
<element signature="e#88538#90144#0" expanded="false" />
<element signature="e#90210#90830#0" expanded="false" />
<element signature="e#90873#91857#0" expanded="false" />
<element signature="e#91899#92675#0" expanded="false" />
<element signature="e#92717#92812#0" expanded="false" />
<element signature="e#92862#93010#0" expanded="false" />
<element signature="e#93056#93340#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="addon.xml" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/addon.xml">
<file leaf-file-name="Downloader.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Downloader.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="1" column="66" selection-start-line="1" selection-start-column="66" selection-end-line="1" selection-end-column="66" />
<folding />
<caret line="50" column="37" selection-start-line="50" selection-start-column="37" selection-end-line="50" selection-end-column="37" />
<folding>
<element signature="e#838#852#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
@ -198,18 +260,6 @@
</provider>
</entry>
</file>
<file leaf-file-name="AceStream.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/AceStream.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="20" column="0" selection-start-line="20" selection-start-column="0" selection-end-line="20" selection-end-column="0" />
<folding>
<element signature="e#838#847#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="README.txt" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/README.txt">
<provider selected="true" editor-type-id="text-editor">
@ -242,8 +292,6 @@
<component name="IdeDocumentHistory">
<option name="CHANGED_PATHS">
<list>
<option value="$PROJECT_DIR$/../script.module.btclient/lib/btclient.py" />
<option value="$PROJECT_DIR$/resources/utorrent/dopal/class_defs.py" />
<option value="$PROJECT_DIR$/resources/scrapers/fuzzywuzzy/fuzz.py" />
<option value="$PROJECT_DIR$/resources/btclient/htclient.py" />
<option value="$PROJECT_DIR$/resources/btclient/opensubtitle.py" />
@ -276,7 +324,6 @@
<option value="$PROJECT_DIR$/resources/contenters/KickAssSo.py" />
<option value="$PROJECT_DIR$/support/services.py" />
<option value="$PROJECT_DIR$/support/player.py" />
<option value="$PROJECT_DIR$/Core.py" />
<option value="$PROJECT_DIR$/TTHPlayer.py" />
<option value="$PROJECT_DIR$/support/abstract/progress.py" />
<option value="$PROJECT_DIR$/../torrenter.searcher.RuTrackerOrg/RuTrackerOrg.py" />
@ -286,13 +333,16 @@
<option value="$PROJECT_DIR$/../torrenter.searcher.PornoLabNet/addon.xml" />
<option value="$PROJECT_DIR$/../torrenter.searcher.PornoLabNet/PornoLabNet.py" />
<option value="$PROJECT_DIR$/resources/contenters/CXZ.py" />
<option value="$PROJECT_DIR$/addon.xml" />
<option value="$PROJECT_DIR$/resources/settings.xml" />
<option value="$PROJECT_DIR$/README.txt" />
<option value="$PROJECT_DIR$/SearcherABC.py" />
<option value="$PROJECT_DIR$/functions.py" />
<option value="$PROJECT_DIR$/Player.py" />
<option value="$PROJECT_DIR$/Libtorrent.py" />
<option value="$PROJECT_DIR$/addon.xml" />
<option value="$PROJECT_DIR$/Downloader.py" />
<option value="$PROJECT_DIR$/Anteoloader.py" />
<option value="$PROJECT_DIR$/Core.py" />
</list>
</option>
</component>
@ -327,6 +377,8 @@
<foldersAlwaysOnTop value="true" />
</navigator>
<panes>
<pane id="Scratches" />
<pane id="Scope" />
<pane id="ProjectPane">
<subPane>
<PATH>
@ -345,10 +397,22 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="plugin.video.torrenter" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="plugin.video.torrenter" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="resources" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
</subPane>
</pane>
<pane id="Scope" />
<pane id="Scratches" />
</panes>
</component>
<component name="PropertiesComponent">
@ -360,13 +424,13 @@
<property name="options.searchVisible" value="true" />
</component>
<component name="RecentsManager">
<key name="MoveFile.RECENT_KEYS">
<recent name="C:\Users\Admin\AppData\Roaming\Kodi\addons\plugin.video.torrenter\resources\searchers\unused" />
</key>
<key name="CopyFile.RECENT_KEYS">
<recent name="C:\Users\Admin\AppData\Roaming\Kodi\addons\plugin.video.torrenter\resources\contenters" />
<recent name="C:\Users\Admin\AppData\Roaming\Kodi\addons\plugin.video.torrenter\resources\searchers" />
</key>
<key name="MoveFile.RECENT_KEYS">
<recent name="C:\Users\Admin\AppData\Roaming\Kodi\addons\plugin.video.torrenter\resources\searchers\unused" />
</key>
</component>
<component name="RunManager" selected="Python.cal">
<configuration default="false" name="cal" type="PythonConfigurationType" factoryName="Python" temporary="true">
@ -530,12 +594,6 @@
<option name="number" value="Default" />
<updated>1420801533300</updated>
</task>
<task id="LOCAL-00091" summary="searcher update">
<created>1437068342157</created>
<option name="number" value="00091" />
<option name="project" value="LOCAL" />
<updated>1437068342157</updated>
</task>
<task id="LOCAL-00092" summary="log libtorr 0.15 fix">
<created>1437075408271</created>
<option name="number" value="00092" />
@ -824,7 +882,13 @@
<option name="project" value="LOCAL" />
<updated>1450188565240</updated>
</task>
<option name="localTasksCounter" value="140" />
<task id="LOCAL-00140" summary="RussakHH stable roll-back 2">
<created>1450189086720</created>
<option name="number" value="00140" />
<option name="project" value="LOCAL" />
<updated>1450189086720</updated>
</task>
<option name="localTasksCounter" value="141" />
<servers />
</component>
<component name="ToolWindowManager">
@ -835,7 +899,7 @@
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32925472" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
<window_info id="Python Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32814237" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
<window_info id="Version Control" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.29032257" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Version Control" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.2650334" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32703003" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.1319149" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
@ -865,7 +929,6 @@
<option name="myLimit" value="2678400000" />
</component>
<component name="VcsManagerConfiguration">
<MESSAGE value="captcha name" />
<MESSAGE value="riper fix" />
<MESSAGE value="dht fix" />
<MESSAGE value="module over system" />
@ -890,7 +953,8 @@
<MESSAGE value="listen_on fix" />
<MESSAGE value="fix nothing" />
<MESSAGE value="RussakHH stable roll-back" />
<option name="LAST_COMMIT_MESSAGE" value="RussakHH stable roll-back" />
<MESSAGE value="RussakHH stable roll-back 2" />
<option name="LAST_COMMIT_MESSAGE" value="RussakHH stable roll-back 2" />
</component>
<component name="XDebuggerManager">
<breakpoint-manager>
@ -899,38 +963,6 @@
<watches-manager />
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/AceStream.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="20" column="0" selection-start-line="20" selection-start-column="0" selection-end-line="20" selection-end-column="0" />
<folding>
<element signature="e#838#847#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/README.txt">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="3" column="67" selection-start-line="3" selection-start-column="67" selection-end-line="3" selection-end-column="67" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Content.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="19" column="0" selection-start-line="19" selection-start-column="0" selection-end-line="19" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/../torrenter.searcher.Cpasbien/addon.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.028192371">
<caret line="1" column="54" selection-start-line="1" selection-start-column="54" selection-end-line="1" selection-end-column="54" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/../torrenter.searcher.MegaTorrent/addon.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.028192371">
@ -1064,13 +1096,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/../script.module.torrent2http/lib/torrent2http/engine.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.028192371">
<caret line="24" column="7" selection-start-line="24" selection-start-column="7" selection-end-line="24" selection-end-column="7" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/changelog.txt">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
@ -1092,23 +1117,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/../torrenter.searcher.RuTrackerOrg/RuTrackerOrg.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="75" column="32" selection-start-line="75" selection-start-column="32" selection-end-line="75" selection-end-column="32" />
<folding>
<element signature="e#24#836#1" expanded="false" />
<element signature="e#2290#2302#0" expanded="false" />
<element signature="e#2846#3212#0" expanded="false" />
<element signature="e#3244#3513#0" expanded="false" />
<element signature="e#3554#8476#0" expanded="false" />
<element signature="e#8521#9792#0" expanded="false" />
<element signature="e#9844#10092#0" expanded="false" />
<element signature="e#10123#11244#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/../torrenter.searcher.RuTrackerMusic/RuTrackerMusic.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
@ -1158,14 +1166,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/addon.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="1" column="66" selection-start-line="1" selection-start-column="66" selection-end-line="1" selection-end-column="66" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/resources/__init__.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
@ -1194,24 +1194,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/resources/settings.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="16" column="15" selection-start-line="16" selection-start-column="15" selection-end-line="16" selection-end-column="15" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/AceStream.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="20" column="0" selection-start-line="20" selection-start-column="0" selection-end-line="20" selection-end-column="0" />
<folding>
<element signature="e#838#847#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/README.txt">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
@ -1239,17 +1221,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Core.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="1204" column="0" selection-start-line="1204" selection-start-column="0" selection-end-line="1204" selection-end-column="0" />
<folding>
<element signature="e#24#837#1" expanded="false" />
<element signature="e#93129#93413#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://D:/Python27/Lib/site-packages/hgext/transplant.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.33333334">
@ -1257,16 +1228,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/default.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="35" column="20" selection-start-line="35" selection-start-column="20" selection-end-line="35" selection-end-column="20" />
<folding>
<marker date="1439305745455" expanded="true" signature="838:849" placeholder="import ..." />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/BTClientPlayer.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-12.6643715">
@ -1274,46 +1235,222 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/../torrenter.searcher.RuTrackerOrg/RuTrackerOrg.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.30327868">
<caret line="75" column="32" selection-start-line="75" selection-start-column="32" selection-end-line="75" selection-end-column="32" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/default.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.60983604">
<caret line="35" column="20" selection-start-line="35" selection-start-column="20" selection-end-line="35" selection-end-column="20" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/AceStream.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.7491803">
<caret line="136" column="22" selection-start-line="136" selection-start-column="8" selection-end-line="136" selection-end-column="22" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/resources/settings.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="16" column="15" selection-start-line="16" selection-start-column="15" selection-end-line="16" selection-end-column="15" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/../script.module.torrent2http/lib/torrent2http/mimetypes.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-5.072131">
<caret line="19" column="0" selection-start-line="19" selection-start-column="0" selection-end-line="19" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Player.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="278" column="31" selection-start-line="278" selection-start-column="31" selection-end-line="278" selection-end-column="31" />
<caret line="458" column="22" selection-start-line="458" selection-start-column="22" selection-end-line="458" selection-end-column="22" />
<folding>
<element signature="e#24#832#1" expanded="false" />
<element signature="e#1950#3666#0" expanded="false" />
<element signature="e#2001#2656#0" expanded="false" />
<element signature="e#2686#2864#0" expanded="false" />
<element signature="e#2894#3072#0" expanded="false" />
<element signature="e#3103#3114#0" expanded="false" />
<element signature="e#3158#3175#0" expanded="false" />
<element signature="e#3228#3320#0" expanded="false" />
<element signature="e#3395#3666#0" expanded="false" />
<element signature="e#6622#7073#0" expanded="false" />
<element signature="e#7112#8392#0" expanded="false" />
<element signature="e#8424#11253#0" expanded="false" />
<element signature="e#11289#13581#0" expanded="false" />
<element signature="e#13630#14978#0" expanded="false" />
<element signature="e#15021#15152#0" expanded="false" />
<element signature="e#15195#15278#0" expanded="false" />
<element signature="e#15320#15450#0" expanded="false" />
<element signature="e#15493#15624#0" expanded="false" />
<element signature="e#15695#15828#0" expanded="false" />
<element signature="e#15858#18558#0" expanded="false" />
<element signature="e#18604#19147#0" expanded="false" />
<element signature="e#19182#19323#0" expanded="false" />
<element signature="e#19364#19700#0" expanded="false" />
<element signature="e#19733#19990#0" expanded="false" />
<element signature="e#20032#20127#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/addon.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.20376712">
<caret line="7" column="48" selection-start-line="7" selection-start-column="48" selection-end-line="7" selection-end-column="48" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Downloader.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="50" column="37" selection-start-line="50" selection-start-column="37" selection-end-line="50" selection-end-column="37" />
<folding>
<element signature="e#838#852#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/functions.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.53114754">
<caret line="1656" column="7" selection-start-line="1656" selection-start-column="7" selection-end-line="1656" selection-end-column="7" />
<state vertical-scroll-proportion="0.0">
<caret line="1564" column="7" selection-start-line="1564" selection-start-column="4" selection-end-line="1564" selection-end-column="7" />
<folding>
<element signature="e#24#832#1" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/../script.module.torrent2http/lib/torrent2http/__init__.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="32" column="13" selection-start-line="32" selection-start-column="0" selection-end-line="32" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/../script.module.torrent2http/lib/torrent2http/engine.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="17" column="21" selection-start-line="17" selection-start-column="21" selection-end-line="17" selection-end-column="21" />
<folding>
<element signature="e#425#493#1" expanded="false" />
<element signature="e#729#1169#0" expanded="false" />
<element signature="e#1212#1326#0" expanded="false" />
<element signature="e#1383#3673#0" expanded="false" />
<element signature="e#1383#1547#1" expanded="false" />
<element signature="e#10009#10695#0" expanded="false" />
<element signature="e#10009#10148#1" expanded="false" />
<element signature="e#10744#15304#0" expanded="false" />
<element signature="e#10744#11054#1" expanded="false" />
<element signature="e#15362#15961#0" expanded="false" />
<element signature="e#15362#15776#1" expanded="false" />
<element signature="e#18746#19093#0" expanded="false" />
<element signature="e#18746#18954#1" expanded="false" />
<element signature="e#19127#19178#0" expanded="false" />
<element signature="e#19233#19415#0" expanded="false" />
<element signature="e#19468#20511#0" expanded="false" />
<element signature="e#20567#21033#0" expanded="false" />
<element signature="e#20567#20983#1" expanded="false" />
<element signature="e#21064#22234#0" expanded="false" />
<element signature="e#21064#21229#1" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Libtorrent.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.33770493">
<caret line="325" column="26" selection-start-line="325" selection-start-column="26" selection-end-line="325" selection-end-column="26" />
<state vertical-scroll-proportion="0.0">
<caret line="48" column="55" selection-start-line="48" selection-start-column="44" selection-end-line="48" selection-end-column="55" />
<folding>
<element signature="e#24#836#1" expanded="false" />
<element signature="e#6352#7821#0" expanded="false" />
<element signature="e#9165#9297#0" expanded="false" />
<element signature="e#9338#9472#0" expanded="false" />
<element signature="e#9506#9628#0" expanded="false" />
<element signature="e#9662#9784#0" expanded="false" />
<element signature="e#9834#9881#0" expanded="false" />
<element signature="e#10075#10389#0" expanded="false" />
<element signature="e#10435#10605#0" expanded="false" />
<element signature="e#10661#10968#0" expanded="false" />
<element signature="e#11026#11337#0" expanded="false" />
<element signature="e#11621#12998#0" expanded="false" />
<element signature="e#13043#13971#0" expanded="false" />
<element signature="e#14008#16484#0" expanded="false" />
<element signature="e#16524#17167#0" expanded="false" />
<element signature="e#17205#17906#0" expanded="false" />
<element signature="e#17943#18045#0" expanded="false" />
<element signature="e#18137#19309#0" expanded="false" />
<element signature="e#19346#19750#0" expanded="false" />
<element signature="e#19781#21708#0" expanded="false" />
<element signature="e#21754#22851#0" expanded="false" />
<element signature="e#22886#23029#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Anteoloader.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="1.3591772">
<caret line="98" column="53" selection-start-line="98" selection-start-column="53" selection-end-line="98" selection-end-column="53" />
<folding>
<element signature="e#787#800#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Core.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="8.248695">
<caret line="445" column="43" selection-start-line="445" selection-start-column="43" selection-end-line="445" selection-end-column="43" />
<folding>
<element signature="e#24#837#1" expanded="false" />
<element signature="e#5626#17591#0" expanded="false" />
<element signature="e#17632#18363#0" expanded="false" />
<element signature="e#29011#30238#0" expanded="false" />
<element signature="e#34740#36829#0" expanded="false" />
<element signature="e#36871#38601#0" expanded="false" />
<element signature="e#38651#43413#0" expanded="false" />
<element signature="e#43478#49892#0" expanded="false" />
<element signature="e#49956#52466#0" expanded="false" />
<element signature="e#52513#53380#0" expanded="false" />
<element signature="e#53429#55618#0" expanded="false" />
<element signature="e#57189#57606#0" expanded="false" />
<element signature="e#57656#57807#0" expanded="false" />
<element signature="e#66557#66596#0" expanded="false" />
<element signature="e#66645#67425#0" expanded="false" />
<element signature="e#67475#69959#0" expanded="false" />
<element signature="e#70004#71204#0" expanded="false" />
<element signature="e#71252#73080#0" expanded="false" />
<element signature="e#73125#73998#0" expanded="false" />
<element signature="e#74043#74644#0" expanded="false" />
<element signature="e#74692#78270#0" expanded="false" />
<element signature="e#78318#79561#0" expanded="false" />
<element signature="e#79611#79707#0" expanded="false" />
<element signature="e#79768#85094#0" expanded="false" />
<element signature="e#85138#85195#0" expanded="false" />
<element signature="e#85249#88483#0" expanded="false" />
<element signature="e#88538#90144#0" expanded="false" />
<element signature="e#90210#90830#0" expanded="false" />
<element signature="e#90873#91857#0" expanded="false" />
<element signature="e#91899#92675#0" expanded="false" />
<element signature="e#92717#92812#0" expanded="false" />
<element signature="e#92862#93010#0" expanded="false" />
<element signature="e#93056#93340#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
</component>
</project>

237
Anteoloader.py 100644
View File

@ -0,0 +1,237 @@
# -*- coding: utf-8 -*-
'''
Torrenter v2 plugin for XBMC/Kodi
Copyright (C) 2012-2015 Vadim Skorba v1 - DiMartino v2
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
'''
import thread
import os
import urllib2
import hashlib
import re
from StringIO import StringIO
import gzip
import sys
from contextlib import closing
import xbmc
import xbmcgui
import xbmcvfs
import xbmcplugin
import Localization
from functions import file_encode, isSubtitle, DownloadDB, log, debug, is_writable, unquote
from torrent2http import State, Engine, MediaType
class Anteoloader:
magnetLink = None
startPart = 0
endPart = 0
partOffset = 0
torrentHandle = None
session = None
engine = None
downloadThread = None
threadComplete = False
def __init__(self, storageDirectory='', torrentFile='', torrentFilesDirectory='torrents'):
self.storageDirectory = storageDirectory
self.torrentFilesPath = os.path.join(self.storageDirectory, torrentFilesDirectory) + os.sep
if not is_writable(self.storageDirectory):
xbmcgui.Dialog().ok(self.localize('Torrenter v2'),
self.localize('Your storage path is not writable or not local! Please change it in settings!'),
self.localize(self.storageDirectory))
sys.exit(1)
#pre settings
self.pre_buffer_bytes = 15*1024*1024
print torrentFile
torrentFile=unquote(torrentFile)
print torrentFile
print str(xbmcvfs.exists(torrentFile))
print str(os.path.exists(torrentFile))
self.engine = Engine(uri=torrentFile)
def __exit__(self):
log('on __exit__')
if self.engine:
self.engine.close()
log('__exit__ worked!')
def getContentList(self, media_types=None):
files = []
filelist = []
with closing(self.engine):
self.engine.start()
if media_types is None:
media_types=[MediaType.VIDEO, MediaType.AUDIO, MediaType.SUBTITLES, MediaType.UNKNOWN]
while not files and not xbmc.abortRequested:
files = self.engine.list(media_types)
self.engine.check_torrent_error()
xbmc.sleep(200)
for fs in files:
stringdata = {"title": fs.name, "size": fs.size, "ind": fs.index,
'offset': fs.offset}
filelist.append(stringdata)
def stream(self, params):
self.params = params
self.get = self.params.get
self.contentId = int(self.get("url")) if self.get("url") else 0
#with closing(self.engine):
self.engine.start(self.contentId)
ready = self.buffer()
if ready:
file_status = self.engine.file_status(self.contentId)
listitem = xbmcgui.ListItem('xxxx')
playlist = xbmc.PlayList(xbmc.PLAYLIST_VIDEO)
playlist.clear()
playlist.add(file_status.url, listitem)
xbmc.Player().play(playlist)
while not xbmc.abortRequested and xbmc.Player().isPlaying():
xbmc.sleep(500)
xbmc.Player().stop()
def buffer(self):
ready = False
progressBar = xbmcgui.DialogProgress()
progressBar.create(self.localize('Please Wait'),
self.localize('Seeds searching.'))
#if self.subs_dl:
# subs = self.torrent.getSubsIds(os.path.basename(self.torrent.getFilePath(self.contentId)))
# if len(subs) > 0:
# for ind, title in subs:
# self.torrent.continueSession(ind)
#FileStatus = namedtuple('FileStatus', "name, save_path, url, size, offset, download, progress, index, media_type")
#SessionStatus = namedtuple('SessionStatus', "name, state, state_str, error, progress, download_rate, upload_rate, "
# "total_download, total_upload, num_peers, num_seeds, total_seeds, "
# "total_peers")
while not xbmc.abortRequested and not ready:
xbmc.sleep(500)
status = self.engine.status()
self.engine.check_torrent_error(status)
file_status = self.engine.file_status(self.contentId)
if not file_status:
continue
log('[buffer] file_status:'+str(file_status))
log('[buffer] status:'+str(status))
#self.torrent.debug()
fullSize = file_status.size / 1024 / 1024
downloadedSize = status.total_download / 1024 / 1024
getDownloadRate = status.download_rate / 1024 * 8
getUploadRate = status.upload_rate / 1024 * 8
getSeeds, getPeers = status.num_seeds, status.num_peers
iterator = int(round(float(file_status.download) / self.pre_buffer_bytes, 2) * 100)
if iterator > 99: iterator = 99
if status.state == State.QUEUED_FOR_CHECKING:
progressBar.update(iterator, self.localize('Checking preloaded files...'), ' ', ' ')
elif status.state == State.DOWNLOADING:
dialogText = self.localize('Preloaded: ') + "%d MB / %d MB" % \
(int(downloadedSize), int(fullSize))
peersText = ' [%s: %s; %s: %s]' % (
self.localize('Seeds'), getSeeds, self.localize('Peers'), getPeers)
speedsText = '%s: %d Mbit/s; %s: %d Mbit/s' % (
self.localize('Downloading'), int(getDownloadRate),
self.localize('Uploading'), int(getUploadRate))
#if self.debug:
# peersText=peersText + ' ' + self.torrent.get_debug_info('dht_state')
# dialogText=dialogText.replace(self.localize('Preloaded: '),'') + ' ' + self.torrent.get_debug_info('trackers_sum')
progressBar.update(iterator, self.localize('Seeds searching.') + peersText, dialogText,
speedsText)
if file_status.download >= self.pre_buffer_bytes:
ready = True
break
elif status.state in [State.FINISHED, State.SEEDING]:
ready = True
break
else:
progressBar.update(iterator, self.localize('UNKNOWN STATUS'), ' ', ' ')
if progressBar.iscanceled():
ready = False
break
progressBar.update(0)
progressBar.close()
return ready
def localize(self, string):
try:
return Localization.localize(string)
except:
return string
def saveTorrent(self, torrentUrl):
if not xbmcvfs.exists(torrentUrl):
if re.match("^magnet\:.+$", torrentUrl):
self.magnetLink = torrentUrl
self.magnetToTorrent(torrentUrl)
self.magnetLink = None
return self.torrentFile
else:
if not xbmcvfs.exists(self.torrentFilesPath):
xbmcvfs.mkdirs(self.torrentFilesPath)
torrentFile = self.torrentFilesPath + self.md5(
torrentUrl) + '.torrent'
try:
if not re.match("^http\:.+$", torrentUrl):
content = xbmcvfs.File(torrentUrl, "rb").read()
else:
request = urllib2.Request(torrentUrl)
request.add_header('Referer', torrentUrl)
request.add_header('Accept-encoding', 'gzip')
result = urllib2.urlopen(request)
if result.info().get('Content-Encoding') == 'gzip':
buf = StringIO(result.read())
f = gzip.GzipFile(fileobj=buf)
content = f.read()
else:
content = result.read()
localFile = xbmcvfs.File(torrentFile, "w+b")
localFile.write(content)
localFile.close()
except Exception, e:
print 'Unable to save torrent file from "' + torrentUrl + '" to "' + torrentFile + '" in Torrent::saveTorrent' + '. Exception: ' + str(
e)
return
else:
torrentFile = torrentUrl
if xbmcvfs.exists(torrentFile):
self.torrentFile = "file:///"+torrentFile.replace('\\','//').replace('////','//')
return self.torrentFile
def md5(self, string):
hasher = hashlib.md5()
try:
hasher.update(string)
except:
hasher.update(string.encode('utf-8', 'ignore'))
return hasher.hexdigest()
def magnetToTorrent(self, magnet):
self.torrentFile = magnet

38
Core.py
View File

@ -45,6 +45,7 @@ class Core:
def __init__(self):
print '!!!!!!!!!!!!!!!!!! BORN '+self.__class__.__name__
print str(self.ROOT)
if len(self.userStorageDirectory) == 0:
download_dir = get_download_dir()
else:
@ -233,7 +234,7 @@ class Core:
lockView('wide')
def test(self, params={}):
from BTClientPlayer import BTClientPlayer
from Anteoloader import Anteoloader
torrentUrl='D:\\ntest.torrent'
params['url']='0'
if not xbmcvfs.exists(torrentUrl):
@ -241,15 +242,13 @@ class Core:
torrentUrl = action.browse(1, self.localize('Choose .torrent in video library'), 'video', '.torrent')
if torrentUrl and xbmcvfs.exists(torrentUrl):
if 0 != len(torrentUrl):
self.Player = BTClientPlayer(userStorageDirectory=self.userStorageDirectory, torrentUrl=torrentUrl, params=params)
self.Downloader = Anteoloader(self.userStorageDirectory, torrentUrl)
else:
print self.__plugin__ + " Unexpected access to method playTorrent() without torrent content"
#path='http://127.0.0.1:5001/Inception.2010.1080p.BluRay.x264.5xRus.Eng-Otaibi.mkv'
#listitem = xbmcgui.ListItem('Inception.2010.1080p.BluRay.x264.5xRus.Eng-Otaibi.mkv', path=path)
#playlist = xbmc.PlayList(xbmc.PLAYLIST_VIDEO)
#playlist.clear()
#playlist.add(path, listitem)
#xbmc.Player().play(playlist)
print self.__plugin__ + " Unexpected access to method Anteoloader() without torrent content"
if self.Downloader:
self.Downloader.stream()
xbmc.sleep(1000)
self.Downloader.__exit__()
def DownloadStatus(self, params={}):
db = DownloadDB()
@ -345,16 +344,16 @@ class Core:
progress=int(jsoninfo.get('progress'))
if status=='pause':
status_sign='[||]'
img = os.path.join(self.ROOT, '/icons/', 'pause-icon.png')
img = os.path.join(self.ROOT, 'icons', 'pause-icon.png')
elif status=='stopped':
status_sign='[X]'
img = os.path.join(self.ROOT, '/icons/', 'stop-icon.png')
img = os.path.join(self.ROOT, 'icons', 'stop-icon.png')
else:
status_sign='[>]'
if progress==100:
img = os.path.join(self.ROOT, '/icons/', 'upload-icon.png')
img = os.path.join(self.ROOT, 'icons', 'upload-icon.png')
else:
img = os.path.join(self.ROOT, '/icons/', 'download-icon.png')
img = os.path.join(self.ROOT, 'icons', 'download-icon.png')
title = '[%d%%]%s %s' % (progress, status_sign, title)
if jsoninfo.get('seeds')!=None and jsoninfo.get('peers')!=None and \
@ -973,6 +972,7 @@ class Core:
def drawItem(self, title, action, link='', image='', isFolder=True, contextMenu=None, replaceMenu=True, action2='',
info={}):
listitem = xbmcgui.ListItem(title, iconImage=image, thumbnailImage=image)
log('[drawItem]:'+str((title, action, image, isFolder, contextMenu, replaceMenu, action2, info)))
if not info: info = {"Title": title, "plot": title}
if isinstance(link, dict):
link_url = ''
@ -1116,10 +1116,14 @@ class Core:
status = TextBB(' [||] ', 'b')
elif data['status'] in ('seeding', 'downloading'):
status = TextBB(' [>] ', 'b')
if data['status'] == 'seed_pending': os.path.join(self.ROOT, '/icons/', 'pause-icon.png')
elif data['status'] == 'stopped': os.path.join(self.ROOT, '/icons/', 'stop-icon.png')
elif data['status'] == 'seeding': os.path.join(self.ROOT, '/icons/', 'upload-icon.png')
elif data['status'] == 'downloading': os.path.join(self.ROOT, '/icons/', 'download-icon.png')
if data['status'] == 'seed_pending':
img = os.path.join(self.ROOT, 'icons', 'pause-icon.png')
elif data['status'] == 'stopped':
img = os.path.join(self.ROOT, 'icons', 'stop-icon.png')
elif data['status'] == 'seeding':
img = os.path.join(self.ROOT, 'icons', 'upload-icon.png')
elif data['status'] == 'downloading':
img = os.path.join(self.ROOT, 'icons', 'download-icon.png')
menu.append(
{"title": '[' + str(data['progress']) + '%]' + status + data['name'] + ' [' + str(
data['ratio']) + ']', "image":img,

View File

@ -23,6 +23,7 @@ import sys
import Libtorrent
import AceStream
import Anteoloader
class Torrent():
@ -36,15 +37,20 @@ class Torrent():
elif self.player == 'acestream':
self.player = AceStream.AceStream(storageDirectory, torrentFile, torrentFilesDirectory)
elif self.player == 'anteo':
self.player = Anteoloader.Anteoloader(storageDirectory, torrentFile, torrentFilesDirectory)
def __exit__(self):
self.player.__exit__()
def get_torrent_client(self):
player = self.__settings__.getSetting("torrent_player")
if player in ['0','2']:
if player == '0':
self.player = 'libtorrent'
elif player == '1':
self.player = 'acestream'
elif player == '2':
self.player = 'anteo'
def play_url_ind(self, ind, label, icon):
return self.player.play_url_ind(int(ind), label, str(icon))

View File

@ -1,10 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="plugin.video.torrenter" name="Torrenter" version="2.3.9" provider-name="vadim.skorba, DiMartino">
<addon id="plugin.video.torrenter" name="Torrenter" version="2.3.9a" provider-name="vadim.skorba, DiMartino">
<requires>
<import addon="xbmc.python" version="2.1.0"/>
<import addon="script.module.libtorrent"/>
<import addon="script.module.btclient"/>
<import addon="script.module.torrent.ts"/>
<import addon="script.module.requests"/>
<import addon="script.module.torrent2http"/>
</requires>
<extension point="xbmc.python.pluginsource" provides="video" library="default.py">
<provides>video</provides>