save path keyboard

pull/1/head
DiMartinoX 2015-01-10 18:47:07 +03:00
parent fb00cbae7d
commit f72316b4e2
8 changed files with 404 additions and 182 deletions

View File

@ -2,9 +2,13 @@
<project version="4"> <project version="4">
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="56e91349-2444-4553-bc78-90c2bab49e9c" name="Default" comment=""> <list default="true" id="56e91349-2444-4553-bc78-90c2bab49e9c" name="Default" comment="">
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/resources/searchers/ExtraTorrent.py" afterPath="$PROJECT_DIR$/resources/searchers/ExtraTorrent.py" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/Core.py" afterPath="$PROJECT_DIR$/Core.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/README.txt" afterPath="$PROJECT_DIR$/README.txt" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/Libtorrent.py" afterPath="$PROJECT_DIR$/Libtorrent.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/cal.py" afterPath="$PROJECT_DIR$/cal.py" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/Player.py" afterPath="$PROJECT_DIR$/Player.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/changelog.txt" afterPath="$PROJECT_DIR$/changelog.txt" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/resources/settings.xml" afterPath="$PROJECT_DIR$/resources/settings.xml" />
<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$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
</list> </list>
<ignored path="plugin.video.torrenter.iws" /> <ignored path="plugin.video.torrenter.iws" />
@ -39,56 +43,87 @@
<file leaf-file-name="Core.py" pinned="false" current="false" current-in-tab="false"> <file leaf-file-name="Core.py" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Core.py"> <entry file="file://$PROJECT_DIR$/Core.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-14.035714" vertical-offset="1919" max-vertical-offset="3621"> <state vertical-scroll-proportion="-11.678572" vertical-offset="1560" max-vertical-offset="5032">
<caret line="1472" column="26" selection-start-line="1472" selection-start-column="26" selection-end-line="1472" selection-end-column="26" /> <caret line="1071" column="32" selection-start-line="1071" selection-start-column="32" selection-end-line="1071" selection-end-column="32" />
<folding> <folding>
<element signature="e#24#781#1" expanded="false" /> <element signature="e#24#781#1" expanded="false" />
<element signature="e#783#798#0" expanded="true" />
<element signature="e#2301#2598#0" expanded="false" /> <element signature="e#2301#2598#0" expanded="false" />
<element signature="e#2635#6745#0" expanded="false" /> <element signature="e#2635#6756#0" expanded="false" />
<element signature="e#6784#18749#0" expanded="false" /> <element signature="e#6795#18760#0" expanded="false" />
<element signature="e#18790#19038#0" expanded="false" /> <element signature="e#19093#22241#0" expanded="false" />
<element signature="e#19082#22230#0" expanded="false" /> <element signature="e#22282#23509#0" expanded="false" />
<element signature="e#22271#23498#0" expanded="false" /> <element signature="e#23610#27819#0" expanded="false" />
<element signature="e#23599#27808#0" expanded="false" /> <element signature="e#27867#29931#0" expanded="false" />
<element signature="e#27856#29920#0" expanded="false" /> <element signature="e#29973#30961#0" expanded="false" />
<element signature="e#29962#30950#0" expanded="false" /> <element signature="e#31011#35625#0" expanded="false" />
<element signature="e#31000#35614#0" expanded="false" /> <element signature="e#35690#42043#0" expanded="false" />
<element signature="e#35679#42032#0" expanded="false" /> <element signature="e#42091#42826#0" expanded="false" />
<element signature="e#42080#42815#0" expanded="false" /> <element signature="e#42890#43934#0" expanded="false" />
<element signature="e#42879#43923#0" expanded="false" /> <element signature="e#43983#45849#0" expanded="false" />
<element signature="e#43972#45651#0" expanded="false" /> <element signature="e#46006#47225#0" expanded="false" />
<element signature="e#45808#47027#0" expanded="false" /> <element signature="e#47281#47698#0" expanded="false" />
<element signature="e#47083#47500#0" expanded="false" /> <element signature="e#47740#47849#0" expanded="false" />
<element signature="e#47542#47651#0" expanded="false" /> <element signature="e#47892#48012#0" expanded="false" />
<element signature="e#47694#47814#0" expanded="false" /> <element signature="e#48062#48213#0" expanded="false" />
<element signature="e#47864#48015#0" expanded="false" /> <element signature="e#48266#54791#0" expanded="false" />
<element signature="e#48068#54593#0" expanded="false" /> <element signature="e#54840#54879#0" expanded="false" />
<element signature="e#54642#54681#0" expanded="false" /> <element signature="e#54928#55718#0" expanded="false" />
<element signature="e#54730#55520#0" expanded="false" /> <element signature="e#55768#58483#0" expanded="false" />
<element signature="e#55570#58285#0" expanded="false" /> <element signature="e#60797#61670#0" expanded="false" />
<element signature="e#58333#59748#0" expanded="false" /> <element signature="e#67432#67552#0" expanded="false" />
<element signature="e#59793#60666#0" expanded="false" /> <element signature="e#67611#68991#0" expanded="false" />
<element signature="e#60714#66221#0" expanded="false" /> <element signature="e#69032#70340#0" expanded="false" />
<element signature="e#66456#67836#0" expanded="false" /> <element signature="e#70393#70828#0" expanded="false" />
<element signature="e#67877#69185#0" expanded="false" /> <element signature="e#70876#72738#0" expanded="false" />
<element signature="e#69238#69673#0" expanded="false" /> <element signature="e#72788#72884#0" expanded="false" />
<element signature="e#69721#71583#0" expanded="false" /> <element signature="e#72947#73474#0" expanded="false" />
<element signature="e#71633#71729#0" expanded="false" /> <element signature="e#73545#77327#0" expanded="false" />
<element signature="e#71792#72319#0" expanded="false" /> <element signature="e#77371#77413#0" expanded="false" />
<element signature="e#72390#76080#0" expanded="false" /> <element signature="e#77467#80552#0" expanded="false" />
<element signature="e#76124#76166#0" expanded="false" /> <element signature="e#80618#81238#0" expanded="false" />
<element signature="e#79371#79991#0" expanded="false" /> <element signature="e#81281#82062#0" expanded="false" />
<element signature="e#80851#81640#0" expanded="false" /> <element signature="e#82098#82887#0" expanded="false" />
<element signature="e#81682#81777#0" expanded="false" /> <element signature="e#82929#83024#0" expanded="false" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="Player.py" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Player.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-17.75" vertical-offset="1458" max-vertical-offset="6154">
<caret line="128" column="38" selection-start-line="128" selection-start-column="38" selection-end-line="128" selection-end-column="38" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="Downloader.py" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Downloader.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-5.321429" vertical-offset="310" max-vertical-offset="2278">
<caret line="30" column="81" selection-start-line="30" selection-start-column="60" selection-end-line="30" selection-end-column="81" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="Libtorrent.py" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/Libtorrent.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-7.142857" vertical-offset="463" max-vertical-offset="6647">
<caret line="53" column="35" selection-start-line="53" selection-start-column="35" selection-end-line="53" selection-end-column="35" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="ExtraTorrent.py" pinned="false" current="false" current-in-tab="false"> <file leaf-file-name="ExtraTorrent.py" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/resources/searchers/ExtraTorrent.py"> <entry file="file://$PROJECT_DIR$/resources/searchers/ExtraTorrent.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="893" max-vertical-offset="1802"> <state vertical-scroll-proportion="0.0" vertical-offset="1377" max-vertical-offset="1836">
<caret line="81" column="27" selection-start-line="81" selection-start-column="27" selection-end-line="81" selection-end-column="27" /> <caret line="81" column="27" selection-start-line="81" selection-start-column="27" selection-end-line="81" selection-end-column="27" />
<folding /> <folding />
</state> </state>
@ -105,21 +140,21 @@
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="README.txt" pinned="false" current="true" current-in-tab="true"> <file leaf-file-name="addon.xml" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/README.txt"> <entry file="file://$PROJECT_DIR$/addon.xml">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.079563186" vertical-offset="0" max-vertical-offset="969"> <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="510">
<caret line="3" column="25" selection-start-line="3" selection-start-column="25" selection-end-line="3" selection-end-column="25" /> <caret line="5" column="50" selection-start-line="5" selection-start-column="50" selection-end-line="5" selection-end-column="50" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="addon.xml" pinned="false" current="false" current-in-tab="false"> <file leaf-file-name="changelog.txt" pinned="false" current="true" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/addon.xml"> <entry file="file://$PROJECT_DIR$/changelog.txt">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="510"> <state vertical-scroll-proportion="0.0" vertical-offset="204" max-vertical-offset="833">
<caret line="14" column="266" selection-start-line="14" selection-start-column="31" selection-end-line="14" selection-end-column="266" /> <caret line="12" column="12" selection-start-line="12" selection-start-column="12" selection-end-line="12" selection-end-column="12" />
<folding /> <folding />
</state> </state>
</provider> </provider>
@ -129,20 +164,10 @@
</split-first> </split-first>
<split-second> <split-second>
<leaf> <leaf>
<file leaf-file-name="settings.xml" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/resources/settings.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="1453" max-vertical-offset="2312">
<caret line="107" column="75" selection-start-line="107" selection-start-column="70" selection-end-line="107" selection-end-column="75" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="Localization.py" pinned="false" current="false" current-in-tab="true"> <file leaf-file-name="Localization.py" pinned="false" current="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/Localization.py"> <entry file="file://$PROJECT_DIR$/Localization.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.91419655" vertical-offset="2780" max-vertical-offset="3638"> <state vertical-scroll-proportion="0.93404907" vertical-offset="2757" max-vertical-offset="3638">
<caret line="198" column="41" selection-start-line="198" selection-start-column="41" selection-end-line="198" selection-end-column="41" /> <caret line="198" column="41" selection-start-line="198" selection-start-column="41" selection-end-line="198" selection-end-column="41" />
<folding /> <folding />
</state> </state>
@ -164,13 +189,18 @@
<component name="IdeDocumentHistory"> <component name="IdeDocumentHistory">
<option name="changedFiles"> <option name="changedFiles">
<list> <list>
<option value="$PROJECT_DIR$/resources/settings.xml" />
<option value="$PROJECT_DIR$/resources/searchers/KickAssSo.py" /> <option value="$PROJECT_DIR$/resources/searchers/KickAssSo.py" />
<option value="$PROJECT_DIR$/Localization.py" /> <option value="$PROJECT_DIR$/Localization.py" />
<option value="$PROJECT_DIR$/Core.py" />
<option value="$PROJECT_DIR$/resources/searchers/ExtraTorrent.py" /> <option value="$PROJECT_DIR$/resources/searchers/ExtraTorrent.py" />
<option value="$PROJECT_DIR$/cal.py" /> <option value="$PROJECT_DIR$/cal.py" />
<option value="$PROJECT_DIR$/README.txt" /> <option value="$PROJECT_DIR$/README.txt" />
<option value="$PROJECT_DIR$/Player.py" />
<option value="$PROJECT_DIR$/resources/language/English/strings.xml" />
<option value="$PROJECT_DIR$/resources/language/Russian/strings.xml" />
<option value="$PROJECT_DIR$/resources/settings.xml" />
<option value="$PROJECT_DIR$/Core.py" />
<option value="$PROJECT_DIR$/Libtorrent.py" />
<option value="$PROJECT_DIR$/changelog.txt" />
</list> </list>
</option> </option>
</component> </component>
@ -206,6 +236,7 @@
<sortByType /> <sortByType />
</navigator> </navigator>
<panes> <panes>
<pane id="Scope" />
<pane id="ProjectPane"> <pane id="ProjectPane">
<subPane> <subPane>
<PATH> <PATH>
@ -252,19 +283,53 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT> </PATH_ELEMENT>
<PATH_ELEMENT> <PATH_ELEMENT>
<option name="myItemId" value="searchers" /> <option name="myItemId" value="language" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="Russian" />
<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_ELEMENT>
<option name="myItemId" value="language" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="English" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT> </PATH_ELEMENT>
</PATH> </PATH>
</subPane> </subPane>
</pane> </pane>
<pane id="Scope" />
</panes> </panes>
</component> </component>
<component name="PropertiesComponent"> <component name="PropertiesComponent">
<property name="last_opened_file_path" value="$PROJECT_DIR$" /> <property name="last_opened_file_path" value="$PROJECT_DIR$" />
<property name="FullScreen" value="false" /> <property name="FullScreen" value="false" />
<property name="recentsLimit" value="5" /> <property name="recentsLimit" value="5" />
<property name="options.lastSelected" value="settings.github" />
<property name="options.splitter.main.proportions" value="0.3" />
<property name="options.splitter.details.proportions" value="0.2" />
<property name="options.searchVisible" value="true" />
</component>
<component name="PyConsoleOptionsProvider">
<option name="myPythonConsoleState">
<console-settings />
</option>
</component> </component>
<component name="RunManager" selected="Python.cal"> <component name="RunManager" selected="Python.cal">
<configuration default="false" name="cal" type="PythonConfigurationType" factoryName="Python" temporary="true"> <configuration default="false" name="cal" type="PythonConfigurationType" factoryName="Python" temporary="true">
@ -441,7 +506,11 @@
<created>1420833581950</created> <created>1420833581950</created>
<updated>1420833581950</updated> <updated>1420833581950</updated>
</task> </task>
<option name="localTasksCounter" value="5" /> <task id="LOCAL-00005" summary="extratorrent fix">
<created>1420834735779</created>
<updated>1420834735779</updated>
</task>
<option name="localTasksCounter" value="6" />
<servers /> <servers />
</component> </component>
<component name="TodoView" selected-index="0"> <component name="TodoView" selected-index="0">
@ -468,8 +537,7 @@
<frame x="-8" y="-8" width="1936" height="1056" extended-state="6" /> <frame x="-8" y="-8" width="1936" height="1056" extended-state="6" />
<editor active="true" /> <editor active="true" />
<layout> <layout>
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> <window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.22914349" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.2413793" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3288889" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3288889" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32925472" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" /> <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32925472" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
@ -481,11 +549,12 @@
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32925472" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32925472" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" /> <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" /> <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
</layout> </layout>
</component> </component>
<component name="Vcs.Log.UiProperties"> <component name="Vcs.Log.UiProperties">
@ -504,24 +573,91 @@
<TodoPanelSettings /> <TodoPanelSettings />
</option> </option>
<MESSAGE value="New Read me?" /> <MESSAGE value="New Read me?" />
<option name="LAST_COMMIT_MESSAGE" value="New Read me?" /> <MESSAGE value="extratorrent fix" />
<option name="LAST_COMMIT_MESSAGE" value="extratorrent fix" />
</component> </component>
<component name="XDebuggerManager"> <component name="XDebuggerManager">
<breakpoint-manager /> <breakpoint-manager>
<option name="time" value="1" />
</breakpoint-manager>
</component> </component>
<component name="editorHistoryManager"> <component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/resources/language/English/strings.xml"> <entry file="file://$PROJECT_DIR$/Core.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.33211678" vertical-offset="379" max-vertical-offset="935"> <state vertical-scroll-proportion="0.0" vertical-offset="25024" max-vertical-offset="26979">
<caret line="33" column="21" selection-start-line="33" selection-start-column="16" selection-end-line="33" selection-end-column="21" /> <caret line="1472" column="26" selection-start-line="1472" selection-start-column="26" selection-end-line="1472" selection-end-column="26" />
<folding>
<element signature="e#24#781#1" expanded="false" />
<element signature="e#783#798#0" expanded="true" />
<element signature="e#2301#2598#0" expanded="false" />
<element signature="e#2635#6756#0" expanded="false" />
<element signature="e#6795#18760#0" expanded="false" />
<element signature="e#19093#22241#0" expanded="false" />
<element signature="e#22282#23509#0" expanded="false" />
<element signature="e#23610#27819#0" expanded="false" />
<element signature="e#27867#29931#0" expanded="false" />
<element signature="e#29973#30961#0" expanded="false" />
<element signature="e#31011#35625#0" expanded="false" />
<element signature="e#35690#42043#0" expanded="false" />
<element signature="e#42091#42826#0" expanded="false" />
<element signature="e#42890#43934#0" expanded="false" />
<element signature="e#43983#45849#0" expanded="false" />
<element signature="e#46006#47225#0" expanded="false" />
<element signature="e#47281#47698#0" expanded="false" />
<element signature="e#47740#47849#0" expanded="false" />
<element signature="e#47892#48012#0" expanded="false" />
<element signature="e#48062#48213#0" expanded="false" />
<element signature="e#48266#54791#0" expanded="false" />
<element signature="e#54840#54879#0" expanded="false" />
<element signature="e#54928#55718#0" expanded="false" />
<element signature="e#55768#58483#0" expanded="false" />
<element signature="e#60797#61670#0" expanded="false" />
<element signature="e#67432#67552#0" expanded="false" />
<element signature="e#67611#68991#0" expanded="false" />
<element signature="e#69032#70340#0" expanded="false" />
<element signature="e#70393#70828#0" expanded="false" />
<element signature="e#70876#72738#0" expanded="false" />
<element signature="e#72788#72884#0" expanded="false" />
<element signature="e#72947#73474#0" expanded="false" />
<element signature="e#73545#77327#0" expanded="false" />
<element signature="e#77371#77413#0" expanded="false" />
<element signature="e#77467#80552#0" expanded="false" />
<element signature="e#80618#81238#0" expanded="false" />
<element signature="e#81281#82062#0" expanded="false" />
<element signature="e#82098#82887#0" expanded="false" />
<element signature="e#82929#83024#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/resources/searchers/ExtraTorrent.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="1377" max-vertical-offset="1836">
<caret line="81" column="27" selection-start-line="81" selection-start-column="27" selection-end-line="81" selection-end-column="27" />
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/resources/settings.xml"> <entry file="file://$PROJECT_DIR$/cal.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="1453" max-vertical-offset="2312"> <state vertical-scroll-proportion="0.0" vertical-offset="187" max-vertical-offset="289">
<caret line="107" column="75" selection-start-line="107" selection-start-column="70" selection-end-line="107" selection-end-column="75" /> <caret line="11" column="93" selection-start-line="11" selection-start-column="93" selection-end-line="11" selection-end-column="93" />
<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" vertical-offset="119" max-vertical-offset="969">
<caret line="7" column="20" selection-start-line="7" selection-start-column="20" selection-end-line="7" selection-end-column="20" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/addon.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="238" max-vertical-offset="510">
<caret line="14" column="266" selection-start-line="14" selection-start-column="31" selection-end-line="14" selection-end-column="266" />
<folding /> <folding />
</state> </state>
</provider> </provider>
@ -530,62 +666,6 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.72824156" vertical-offset="984" max-vertical-offset="1700"> <state vertical-scroll-proportion="0.72824156" vertical-offset="984" max-vertical-offset="1700">
<caret line="88" column="27" selection-start-line="88" selection-start-column="27" selection-end-line="88" selection-end-column="27" /> <caret line="88" column="27" selection-start-line="88" selection-start-column="27" selection-end-line="88" selection-end-column="27" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Localization.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.91419655" vertical-offset="2780" max-vertical-offset="3638">
<caret line="198" column="41" selection-start-line="198" selection-start-column="41" selection-end-line="198" selection-end-column="41" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Core.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-14.035714" vertical-offset="1919" max-vertical-offset="3621">
<caret line="1472" column="26" selection-start-line="1472" selection-start-column="26" selection-end-line="1472" selection-end-column="26" />
<folding>
<element signature="e#24#781#1" expanded="false" />
<element signature="e#2301#2598#0" expanded="false" />
<element signature="e#2635#6745#0" expanded="false" />
<element signature="e#6784#18749#0" expanded="false" />
<element signature="e#18790#19038#0" expanded="false" />
<element signature="e#19082#22230#0" expanded="false" />
<element signature="e#22271#23498#0" expanded="false" />
<element signature="e#23599#27808#0" expanded="false" />
<element signature="e#27856#29920#0" expanded="false" />
<element signature="e#29962#30950#0" expanded="false" />
<element signature="e#31000#35614#0" expanded="false" />
<element signature="e#35679#42032#0" expanded="false" />
<element signature="e#42080#42815#0" expanded="false" />
<element signature="e#42879#43923#0" expanded="false" />
<element signature="e#43972#45651#0" expanded="false" />
<element signature="e#45808#47027#0" expanded="false" />
<element signature="e#47083#47500#0" expanded="false" />
<element signature="e#47542#47651#0" expanded="false" />
<element signature="e#47694#47814#0" expanded="false" />
<element signature="e#47864#48015#0" expanded="false" />
<element signature="e#48068#54593#0" expanded="false" />
<element signature="e#54642#54681#0" expanded="false" />
<element signature="e#54730#55520#0" expanded="false" />
<element signature="e#55570#58285#0" expanded="false" />
<element signature="e#58333#59748#0" expanded="false" />
<element signature="e#59793#60666#0" expanded="false" />
<element signature="e#60714#66221#0" expanded="false" />
<element signature="e#66456#67836#0" expanded="false" />
<element signature="e#67877#69185#0" expanded="false" />
<element signature="e#69238#69673#0" expanded="false" />
<element signature="e#69721#71583#0" expanded="false" />
<element signature="e#71633#71729#0" expanded="false" />
<element signature="e#71792#72319#0" expanded="false" />
<element signature="e#72390#76080#0" expanded="false" />
<element signature="e#76124#76166#0" expanded="false" />
<element signature="e#79371#79991#0" expanded="false" />
<element signature="e#80851#81640#0" expanded="false" />
<element signature="e#81682#81777#0" expanded="false" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
@ -597,6 +677,126 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/README.txt">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.92823714" vertical-offset="0" max-vertical-offset="969">
<caret line="35" column="38" selection-start-line="35" selection-start-column="38" selection-end-line="35" selection-end-column="38" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/addon.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="510">
<caret line="5" column="50" selection-start-line="5" selection-start-column="50" selection-end-line="5" selection-end-column="50" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/resources/settings.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.37129486" vertical-offset="833" max-vertical-offset="2431">
<caret line="63" column="27" selection-start-line="63" selection-start-column="20" selection-end-line="63" selection-end-column="27" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/resources/language/English/strings.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.3501529" vertical-offset="281" max-vertical-offset="952">
<caret line="30" column="56" selection-start-line="30" selection-start-column="56" selection-end-line="30" selection-end-column="56" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/resources/language/Russian/strings.xml">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.3761468" vertical-offset="298" max-vertical-offset="969">
<caret line="32" column="40" selection-start-line="32" selection-start-column="40" selection-end-line="32" selection-end-column="40" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Localization.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.93404907" vertical-offset="2757" max-vertical-offset="3638">
<caret line="198" column="41" selection-start-line="198" selection-start-column="41" selection-end-line="198" selection-end-column="41" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Core.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-11.678572" vertical-offset="1560" max-vertical-offset="5032">
<caret line="1071" column="32" selection-start-line="1071" selection-start-column="32" selection-end-line="1071" selection-end-column="32" />
<folding>
<element signature="e#24#781#1" expanded="false" />
<element signature="e#783#798#0" expanded="true" />
<element signature="e#2301#2598#0" expanded="false" />
<element signature="e#2635#6756#0" expanded="false" />
<element signature="e#6795#18760#0" expanded="false" />
<element signature="e#19093#22241#0" expanded="false" />
<element signature="e#22282#23509#0" expanded="false" />
<element signature="e#23610#27819#0" expanded="false" />
<element signature="e#27867#29931#0" expanded="false" />
<element signature="e#29973#30961#0" expanded="false" />
<element signature="e#31011#35625#0" expanded="false" />
<element signature="e#35690#42043#0" expanded="false" />
<element signature="e#42091#42826#0" expanded="false" />
<element signature="e#42890#43934#0" expanded="false" />
<element signature="e#43983#45849#0" expanded="false" />
<element signature="e#46006#47225#0" expanded="false" />
<element signature="e#47281#47698#0" expanded="false" />
<element signature="e#47740#47849#0" expanded="false" />
<element signature="e#47892#48012#0" expanded="false" />
<element signature="e#48062#48213#0" expanded="false" />
<element signature="e#48266#54791#0" expanded="false" />
<element signature="e#54840#54879#0" expanded="false" />
<element signature="e#54928#55718#0" expanded="false" />
<element signature="e#55768#58483#0" expanded="false" />
<element signature="e#60797#61670#0" expanded="false" />
<element signature="e#67432#67552#0" expanded="false" />
<element signature="e#67611#68991#0" expanded="false" />
<element signature="e#69032#70340#0" expanded="false" />
<element signature="e#70393#70828#0" expanded="false" />
<element signature="e#70876#72738#0" expanded="false" />
<element signature="e#72788#72884#0" expanded="false" />
<element signature="e#72947#73474#0" expanded="false" />
<element signature="e#73545#77327#0" expanded="false" />
<element signature="e#77371#77413#0" expanded="false" />
<element signature="e#77467#80552#0" expanded="false" />
<element signature="e#80618#81238#0" expanded="false" />
<element signature="e#81281#82062#0" expanded="false" />
<element signature="e#82098#82887#0" expanded="false" />
<element signature="e#82929#83024#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Player.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-17.75" vertical-offset="1458" max-vertical-offset="6154">
<caret line="128" column="38" selection-start-line="128" selection-start-column="38" selection-end-line="128" selection-end-column="38" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Downloader.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-5.321429" vertical-offset="310" max-vertical-offset="2278">
<caret line="30" column="81" selection-start-line="30" selection-start-column="60" selection-end-line="30" selection-end-column="81" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/Libtorrent.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-7.142857" vertical-offset="463" max-vertical-offset="6647">
<caret line="53" column="35" selection-start-line="53" selection-start-column="35" selection-end-line="53" selection-end-column="35" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cal.py"> <entry file="file://$PROJECT_DIR$/cal.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="272"> <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="272">
@ -605,18 +805,10 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/addon.xml"> <entry file="file://$PROJECT_DIR$/changelog.txt">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="510"> <state vertical-scroll-proportion="0.0" vertical-offset="204" max-vertical-offset="833">
<caret line="14" column="266" selection-start-line="14" selection-start-column="31" selection-end-line="14" selection-end-column="266" /> <caret line="12" column="12" selection-start-line="12" selection-start-column="12" selection-end-line="12" selection-end-column="12" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/README.txt">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.079563186" vertical-offset="0" max-vertical-offset="969">
<caret line="3" column="25" selection-start-line="3" selection-start-column="25" selection-end-line="3" selection-end-column="25" />
<folding /> <folding />
</state> </state>
</provider> </provider>

46
Core.py
View File

@ -128,7 +128,7 @@ class Core:
self.drawItem(self.localize('< Login >'), 'loginUser', image=self.ROOT + '/icons/login.png') self.drawItem(self.localize('< Login >'), 'loginUser', image=self.ROOT + '/icons/login.png')
self.drawItem(self.localize('< Register >'), 'registerUser', image=self.ROOT + '/icons/register.png')''' self.drawItem(self.localize('< Register >'), 'registerUser', image=self.ROOT + '/icons/register.png')'''
if 'true' == self.__settings__.getSetting("keep_files"): if 'true' == self.__settings__.getSetting("keep_files"):
self.drawItem(self.localize('Clear Storage'), 'clearStorage', isFolder=True, self.drawItem('< %s >' % self.localize('Clear Storage'), 'clearStorage', isFolder=True,
image=self.ROOT + '/icons/clear.png') image=self.ROOT + '/icons/clear.png')
view_style('sectionMenu') view_style('sectionMenu')
xbmcplugin.endOfDirectory(handle=int(sys.argv[1]), succeeded=True) xbmcplugin.endOfDirectory(handle=int(sys.argv[1]), succeeded=True)
@ -759,10 +759,11 @@ class Core:
options = [] options = []
img = '' img, save_folder = '',''
if get('img'): img = get('img') if get('img'): img = get('img')
if get('title'): if get('title'):
save_folder=get('title')
options.append(get('title')) options.append(get('title'))
if get('originaltitle') and get('originaltitle') != get('title'): if get('originaltitle') and get('originaltitle') != get('title'):
@ -773,6 +774,7 @@ class Core:
options.append(get('contenter_title')) options.append(get('contenter_title'))
if get('year'): if get('year'):
save_folder=save_folder+' ('+get('year')+')'
if get('title'): options.append('%s %s' % (get('title'), get('year'))) if get('title'): options.append('%s %s' % (get('title'), get('year')))
if get('originaltitle') and get('originaltitle') != get('title'): options.append( if get('originaltitle') and get('originaltitle') != get('title'): options.append(
'%s %s' % (get('originaltitle'), get('year'))) '%s %s' % (get('originaltitle'), get('year')))
@ -780,12 +782,12 @@ class Core:
'contenter_title'): options.append('%s %s' % (get('contenter_title'), get('year'))) 'contenter_title'): options.append('%s %s' % (get('contenter_title'), get('year')))
if get('episode') and get('season'): if get('episode') and get('season'):
if get('title'): options.append('%s S%sE%s' % (get('title'), get('season'), get('episode'))) if get('title'): options.append('%s S%2dE%2d' % (get('title'), int(get('season')), int(get('episode'))))
if get('original_title'): options.append( if get('original_title'): options.append(
'%s S%sE%s' % (get('original_title'), get('season'), get('episode'))) '%s S%2dE%2d' % (get('original_title'), int(get('season')), int(get('episode'))))
for title in options: for title in options:
link = {'url': title.encode('utf-8', 'ignore'), 'thumbnail': img} link = {'url': title.encode('utf-8', 'ignore'), 'thumbnail': img, 'save_folder':save_folder.encode('utf-8', 'ignore')}
self.drawItem(title.encode('utf-8', 'ignore'), 'search', link, img) self.drawItem(title.encode('utf-8', 'ignore'), 'search', link, img)
view_style('searchOption') view_style('searchOption')
@ -1062,9 +1064,26 @@ class Core:
def playTorrent(self, params={}): def playTorrent(self, params={}):
torrentUrl = self.__settings__.getSetting("lastTorrent") torrentUrl = self.__settings__.getSetting("lastTorrent")
if self.__settings__.getSetting("keep_files")=='true' \
and self.__settings__.getSetting("ask_dir")=='true':
try:
save_folder = urllib.unquote_plus(params.get('save_folder'))
except:
save_folder = ''
if len(save_folder)>0:
default=os.path.join(self.userStorageDirectory, save_folder)
else:
default=self.userStorageDirectory
keyboard = xbmc.Keyboard(default, self.localize('Save to path') + ':')
keyboard.doModal()
dirname = keyboard.getText()
if not keyboard.isConfirmed():
return
if len(dirname)>0:
self.userStorageDirectory=dirname
if self.torrent_player == '0': if self.torrent_player == '0':
if 0 != len(torrentUrl): if 0 != len(torrentUrl):
self.Player = TorrentPlayer(torrentUrl=torrentUrl, params=params) self.Player = TorrentPlayer(userStorageDirectory=self.userStorageDirectory, torrentUrl=torrentUrl, params=params)
else: else:
print self.__plugin__ + " Unexpected access to method playTorrent() without torrent content" print self.__plugin__ + " Unexpected access to method playTorrent() without torrent content"
elif self.torrent_player == '1': elif self.torrent_player == '1':
@ -1126,6 +1145,10 @@ class Core:
thumbnail = urllib.unquote_plus(get("thumbnail")) thumbnail = urllib.unquote_plus(get("thumbnail"))
except: except:
thumbnail = '' thumbnail = ''
try:
save_folder = urllib.unquote_plus(get("save_folder"))
except:
save_folder = ''
url = urllib.unquote_plus(get("url")) url = urllib.unquote_plus(get("url"))
self.__settings__.setSetting("lastTorrentUrl", url) self.__settings__.setSetting("lastTorrentUrl", url)
classMatch = re.search('(\w+)::(.+)', url) classMatch = re.search('(\w+)::(.+)', url)
@ -1211,7 +1234,7 @@ class Core:
'XBMC.RunPlugin(%s)' % ('%s?action=%s&url=%s') % ( 'XBMC.RunPlugin(%s)' % ('%s?action=%s&url=%s') % (
sys.argv[0], 'downloadopenTorrent', str(identifier))) sys.argv[0], 'downloadopenTorrent', str(identifier)))
] ]
link = {'url': identifier, 'thumbnail': thumbnail} link = {'url': identifier, 'thumbnail': thumbnail, 'save_folder':save_folder}
self.drawItem(title, 'playTorrent', link, image=thumbnail, isFolder=False, self.drawItem(title, 'playTorrent', link, image=thumbnail, isFolder=False,
action2=ids_video.rstrip(','), contextMenu=contextMenu, replaceMenu=False) action2=ids_video.rstrip(','), contextMenu=contextMenu, replaceMenu=False)
view_style('openTorrent') view_style('openTorrent')
@ -1382,14 +1405,15 @@ class Core:
external = urllib.unquote_plus(get("external")) external = urllib.unquote_plus(get("external"))
except: except:
external = None external = None
try:
silent = get("silent") silent = get("silent")
except:
silent = None
try: try:
thumbnail = urllib.unquote_plus(get("thumbnail")) thumbnail = urllib.unquote_plus(get("thumbnail"))
except: except:
thumbnail = '' thumbnail = ''
try:
save_folder = urllib.unquote_plus(get("save_folder"))
except:
save_folder = ''
if external: if external:
try: try:
s = json.loads(json.loads(urllib.unquote_plus(get("sdata")))) s = json.loads(json.loads(urllib.unquote_plus(get("sdata"))))
@ -1438,7 +1462,7 @@ class Core:
sys.argv[0], 'downloadFilesList', urllib.quote_plus(link))) sys.argv[0], 'downloadFilesList', urllib.quote_plus(link)))
] ]
title = self.titleMake(seeds, leechers, size, title) title = self.titleMake(seeds, leechers, size, title)
link = {'url': link, 'thumbnail': thumbnail} link = {'url': link, 'thumbnail': thumbnail, 'save_folder':save_folder}
self.drawItem(title, 'openTorrent', link, image, contextMenu=contextMenu, replaceMenu=False) self.drawItem(title, 'openTorrent', link, image, contextMenu=contextMenu, replaceMenu=False)
view_style('showFilesList') view_style('showFilesList')
xbmcplugin.endOfDirectory(handle=int(sys.argv[1]), succeeded=True) xbmcplugin.endOfDirectory(handle=int(sys.argv[1]), succeeded=True)

View File

@ -40,7 +40,6 @@ class Libtorrent:
torrentFile = None torrentFile = None
magnetLink = None magnetLink = None
storageDirectory = '' storageDirectory = ''
torrentFilesDirectory = 'torrents'
startPart = 0 startPart = 0
endPart = 0 endPart = 0
partOffset = 0 partOffset = 0
@ -82,11 +81,8 @@ class Libtorrent:
self.lt = libtorrent self.lt = libtorrent
del libtorrent del libtorrent
self.torrentFilesDirectory = torrentFilesDirectory
self.storageDirectory = storageDirectory self.storageDirectory = storageDirectory
_path=os.path.join(self.storageDirectory, self.torrentFilesDirectory)+os.sep self.torrentFilesPath=os.path.join(self.storageDirectory, torrentFilesDirectory)+os.sep
if not xbmcvfs.exists(_path):
xbmcvfs.mkdirs(_path)
if xbmcvfs.exists(torrentFile): if xbmcvfs.exists(torrentFile):
self.torrentFile = torrentFile self.torrentFile = torrentFile
self.torrentFileInfo = self.lt.torrent_info(file_decode(self.torrentFile)) self.torrentFileInfo = self.lt.torrent_info(file_decode(self.torrentFile))
@ -99,7 +95,9 @@ class Libtorrent:
self.magnetToTorrent(torrentUrl) self.magnetToTorrent(torrentUrl)
return self.torrentFile return self.torrentFile
else: else:
torrentFile = self.storageDirectory + os.sep + self.torrentFilesDirectory + os.sep + self.md5( if not xbmcvfs.exists(self.torrentFilesPath):
xbmcvfs.mkdirs(self.torrentFilesPath)
torrentFile = self.torrentFilesPath + self.md5(
torrentUrl) + '.torrent' torrentUrl) + '.torrent'
try: try:
if not re.match("^http\:.+$", torrentUrl): if not re.match("^http\:.+$", torrentUrl):
@ -130,8 +128,9 @@ class Libtorrent:
xbmcvfs.delete(torrentFile) xbmcvfs.delete(torrentFile)
return return
baseName = file_encode(os.path.basename(self.getFilePath())) baseName = file_encode(os.path.basename(self.getFilePath()))
newFile = self.storageDirectory + os.sep + self.torrentFilesDirectory + os.sep + baseName + '.' + self.md5( if not xbmcvfs.exists(self.torrentFilesPath):
torrentUrl) + '.torrent' xbmcvfs.mkdirs(self.torrentFilesPath)
newFile = self.torrentFilesPath + baseName + '.' + self.md5(torrentUrl) + '.torrent'
xbmcvfs.delete(newFile) xbmcvfs.delete(newFile)
if not xbmcvfs.exists(newFile): if not xbmcvfs.exists(newFile):
@ -177,7 +176,9 @@ class Libtorrent:
try: try:
torrentFile = self.lt.create_torrent(torrentInfo) torrentFile = self.lt.create_torrent(torrentInfo)
baseName = file_encode(os.path.basename(self.storageDirectory + os.sep + torrentInfo.files()[0].path)) baseName = file_encode(os.path.basename(self.storageDirectory + os.sep + torrentInfo.files()[0].path))
self.torrentFile = self.storageDirectory + os.sep + self.torrentFilesDirectory + os.sep + baseName + '.torrent' if not xbmcvfs.exists(self.torrentFilesPath):
xbmcvfs.mkdirs(self.torrentFilesPath)
self.torrentFile = self.torrentFilesPath + baseName + '.torrent'
torentFileHandler = xbmcvfs.File(self.torrentFile, "w+b") torentFileHandler = xbmcvfs.File(self.torrentFile, "w+b")
torentFileHandler.write(self.lt.bencode(torrentFile.generate())) torentFileHandler.write(self.lt.bencode(torrentFile.generate()))
torentFileHandler.close() torentFileHandler.close()

View File

@ -108,22 +108,14 @@ class TorrentPlayer(xbmc.Player):
__plugin__ = sys.modules["__main__"].__plugin__ __plugin__ = sys.modules["__main__"].__plugin__
__settings__ = sys.modules["__main__"].__settings__ __settings__ = sys.modules["__main__"].__settings__
ROOT = sys.modules["__main__"].__root__ #.decode('utf-8').encode(sys.getfilesystemencoding()) ROOT = sys.modules["__main__"].__root__ #.decode('utf-8').encode(sys.getfilesystemencoding())
userStorageDirectory = __settings__.getSetting("storage")
USERAGENT = "Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/20100101 Firefox/5.0" USERAGENT = "Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/20100101 Firefox/5.0"
torrentFilesDirectory = 'torrents' torrentFilesDirectory = 'torrents'
debug = __settings__.getSetting('debug') == 'true' debug = __settings__.getSetting('debug') == 'true'
subs_dl = __settings__.getSetting('subs_dl') == 'true' subs_dl = __settings__.getSetting('subs_dl') == 'true'
seeding = __settings__.getSetting('keep_seeding') == 'true' seeding = __settings__.getSetting('keep_seeding') == 'true'
def __init__(self, torrentUrl, params={}): def __init__(self, userStorageDirectory, torrentUrl, params={}):
if 0 == len(self.userStorageDirectory): self.userStorageDirectory = userStorageDirectory
try:
temp_dir = tempfile.gettempdir()
except:
temp_dir = tempdir()
self.userStorageDirectory = temp_dir + os.path.sep + 'Torrenter'
else:
self.userStorageDirectory = self.userStorageDirectory + 'Torrenter'
xbmc.Player.__init__(self) xbmc.Player.__init__(self)
print ("[TorrentPlayer] Initalized") print ("[TorrentPlayer] Initalized")
self.params = params self.params = params

View File

@ -1,4 +1,8 @@
[B]Version 2.0.7[/B] [B]Version 2.0.8[/B]
[+] Проигрывание: Добавлена возможность менять путь хранения
[+] Торрент-клиент: Добавлена возможность менять путь скачки
[B]Version 2.0.7[/B]
[+] Поиск: Добавлено несколько зарубежных трекеров [+] Поиск: Добавлено несколько зарубежных трекеров
[+] Добавлена поддержка интернациональности, придется пару раз кликнуть нет [+] Добавлена поддержка интернациональности, придется пару раз кликнуть нет

View File

@ -28,6 +28,7 @@
<string id="30028">Long (30s)</string> <string id="30028">Long (30s)</string>
<string id="30029">Predownload subtitles from all folders</string> <string id="30029">Predownload subtitles from all folders</string>
<string id="30030">Keep seeding until Kodi restart</string> <string id="30030">Keep seeding until Kodi restart</string>
<string id="30031">Ask to change storage before play</string>
<string id="30101">Interface</string> <string id="30101">Interface</string>
<string id="30102">P2P Network</string> <string id="30102">P2P Network</string>
<string id="50301">Save path</string> <string id="50301">Save path</string>

View File

@ -28,6 +28,7 @@
<string id="30028">Долгое (30с)</string> <string id="30028">Долгое (30с)</string>
<string id="30029">Предзакачать и подключить субтитры</string> <string id="30029">Предзакачать и подключить субтитры</string>
<string id="30030">Сидировать до полного выключения Kodi</string> <string id="30030">Сидировать до полного выключения Kodi</string>
<string id="30031">Предлагать изменить место хранения</string>
<string id="30101">Интерфейс</string> <string id="30101">Интерфейс</string>
<string id="30102">P2P Сеть</string> <string id="30102">P2P Сеть</string>
<string id="50301">Директория для сохранения файлов</string> <string id="50301">Директория для сохранения файлов</string>

View File

@ -60,40 +60,47 @@
label="30008" label="30008"
default="true" default="true"
/> />
<setting
id="ask_dir"
type="bool"
label="30031"
enable="eq(-1,true)"
default="false"
/>
<setting <setting
id="next_dl" id="next_dl"
type="bool" type="bool"
label="30013" label="30013"
default="true" default="true"
visible="eq(-3,0)" visible="eq(-4,0)"
/> />
<setting <setting
id="upload_limit" id="upload_limit"
type="number" type="number"
label="30010" label="30010"
default="0" default="0"
visible="eq(-4,0)" visible="eq(-5,0)"
/> />
<setting <setting
id="download_limit" id="download_limit"
type="number" type="number"
label="30011" label="30011"
default="0" default="0"
visible="eq(-5,0)" visible="eq(-6,0)"
/> />
<setting <setting
id="blank" id="blank"
type="text" type="text"
label="30024" label="30024"
default="" default=""
visible="eq(-6,1)" visible="eq(-7,1)"
/> />
<setting <setting
id="subs_dl" id="subs_dl"
type="bool" type="bool"
label="30029" label="30029"
default="true" default="true"
visible="eq(-7,0)" visible="eq(-8,0)"
/> />
<setting <setting
id="keep_seeding" id="keep_seeding"