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">
<component name="ChangeListManager">
<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$/README.txt" afterPath="$PROJECT_DIR$/README.txt" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/cal.py" afterPath="$PROJECT_DIR$/cal.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/Core.py" afterPath="$PROJECT_DIR$/Core.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/Libtorrent.py" afterPath="$PROJECT_DIR$/Libtorrent.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" />
</list>
<ignored path="plugin.video.torrenter.iws" />
@ -39,56 +43,87 @@
<file leaf-file-name="Core.py" pinned="false" current="false" current-in-tab="false">
<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" />
<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#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" />
<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>
</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">
<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="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" />
<folding />
</state>
@ -105,21 +140,21 @@
</provider>
</entry>
</file>
<file leaf-file-name="README.txt" pinned="false" current="true" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/README.txt">
<file leaf-file-name="addon.xml" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/addon.xml">
<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" />
<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>
</file>
<file leaf-file-name="addon.xml" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/addon.xml">
<file leaf-file-name="changelog.txt" pinned="false" current="true" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/changelog.txt">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" 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" />
<state vertical-scroll-proportion="0.0" vertical-offset="204" max-vertical-offset="833">
<caret line="12" column="12" selection-start-line="12" selection-start-column="12" selection-end-line="12" selection-end-column="12" />
<folding />
</state>
</provider>
@ -129,20 +164,10 @@
</split-first>
<split-second>
<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">
<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">
<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>
@ -164,13 +189,18 @@
<component name="IdeDocumentHistory">
<option name="changedFiles">
<list>
<option value="$PROJECT_DIR$/resources/settings.xml" />
<option value="$PROJECT_DIR$/resources/searchers/KickAssSo.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$/cal.py" />
<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>
</option>
</component>
@ -206,6 +236,7 @@
<sortByType />
</navigator>
<panes>
<pane id="Scope" />
<pane id="ProjectPane">
<subPane>
<PATH>
@ -252,19 +283,53 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</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" />
</PATH_ELEMENT>
</PATH>
</subPane>
</pane>
<pane id="Scope" />
</panes>
</component>
<component name="PropertiesComponent">
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
<property name="FullScreen" value="false" />
<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 name="RunManager" selected="Python.cal">
<configuration default="false" name="cal" type="PythonConfigurationType" factoryName="Python" temporary="true">
@ -441,7 +506,11 @@
<created>1420833581950</created>
<updated>1420833581950</updated>
</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 />
</component>
<component name="TodoView" selected-index="0">
@ -468,8 +537,7 @@
<frame x="-8" y="-8" width="1936" height="1056" extended-state="6" />
<editor active="true" />
<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.2413793" 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="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="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="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="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="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="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="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>
</component>
<component name="Vcs.Log.UiProperties">
@ -504,24 +573,91 @@
<TodoPanelSettings />
</option>
<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 name="XDebuggerManager">
<breakpoint-manager />
<breakpoint-manager>
<option name="time" value="1" />
</breakpoint-manager>
</component>
<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">
<state vertical-scroll-proportion="0.33211678" vertical-offset="379" max-vertical-offset="935">
<caret line="33" column="21" selection-start-line="33" selection-start-column="16" selection-end-line="33" selection-end-column="21" />
<state vertical-scroll-proportion="0.0" vertical-offset="25024" max-vertical-offset="26979">
<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 />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/resources/settings.xml">
<entry file="file://$PROJECT_DIR$/cal.py">
<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" />
<state vertical-scroll-proportion="0.0" vertical-offset="187" max-vertical-offset="289">
<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 />
</state>
</provider>
@ -530,62 +666,6 @@
<provider selected="true" editor-type-id="text-editor">
<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" />
<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>
</provider>
</entry>
@ -597,6 +677,126 @@
</state>
</provider>
</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">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="272">
@ -605,18 +805,10 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/addon.xml">
<entry file="file://$PROJECT_DIR$/changelog.txt">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" 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 />
</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" />
<state vertical-scroll-proportion="0.0" vertical-offset="204" max-vertical-offset="833">
<caret line="12" column="12" selection-start-line="12" selection-start-column="12" selection-end-line="12" selection-end-column="12" />
<folding />
</state>
</provider>

48
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('< Register >'), 'registerUser', image=self.ROOT + '/icons/register.png')'''
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')
view_style('sectionMenu')
xbmcplugin.endOfDirectory(handle=int(sys.argv[1]), succeeded=True)
@ -759,10 +759,11 @@ class Core:
options = []
img = ''
img, save_folder = '',''
if get('img'): img = get('img')
if get('title'):
save_folder=get('title')
options.append(get('title'))
if get('originaltitle') and get('originaltitle') != get('title'):
@ -773,6 +774,7 @@ class Core:
options.append(get('contenter_title'))
if get('year'):
save_folder=save_folder+' ('+get('year')+')'
if get('title'): options.append('%s %s' % (get('title'), get('year')))
if get('originaltitle') and get('originaltitle') != get('title'): options.append(
'%s %s' % (get('originaltitle'), get('year')))
@ -780,12 +782,12 @@ class Core:
'contenter_title'): options.append('%s %s' % (get('contenter_title'), get('year')))
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(
'%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:
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)
view_style('searchOption')
@ -1062,9 +1064,26 @@ class Core:
def playTorrent(self, params={}):
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 0 != len(torrentUrl):
self.Player = TorrentPlayer(torrentUrl=torrentUrl, params=params)
self.Player = TorrentPlayer(userStorageDirectory=self.userStorageDirectory, torrentUrl=torrentUrl, params=params)
else:
print self.__plugin__ + " Unexpected access to method playTorrent() without torrent content"
elif self.torrent_player == '1':
@ -1126,6 +1145,10 @@ class Core:
thumbnail = urllib.unquote_plus(get("thumbnail"))
except:
thumbnail = ''
try:
save_folder = urllib.unquote_plus(get("save_folder"))
except:
save_folder = ''
url = urllib.unquote_plus(get("url"))
self.__settings__.setSetting("lastTorrentUrl", url)
classMatch = re.search('(\w+)::(.+)', url)
@ -1211,7 +1234,7 @@ class Core:
'XBMC.RunPlugin(%s)' % ('%s?action=%s&url=%s') % (
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,
action2=ids_video.rstrip(','), contextMenu=contextMenu, replaceMenu=False)
view_style('openTorrent')
@ -1382,14 +1405,15 @@ class Core:
external = urllib.unquote_plus(get("external"))
except:
external = None
try:
silent = get("silent")
except:
silent = None
silent = get("silent")
try:
thumbnail = urllib.unquote_plus(get("thumbnail"))
except:
thumbnail = ''
try:
save_folder = urllib.unquote_plus(get("save_folder"))
except:
save_folder = ''
if external:
try:
s = json.loads(json.loads(urllib.unquote_plus(get("sdata"))))
@ -1438,7 +1462,7 @@ class Core:
sys.argv[0], 'downloadFilesList', urllib.quote_plus(link)))
]
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)
view_style('showFilesList')
xbmcplugin.endOfDirectory(handle=int(sys.argv[1]), succeeded=True)

View File

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

View File

@ -108,22 +108,14 @@ class TorrentPlayer(xbmc.Player):
__plugin__ = sys.modules["__main__"].__plugin__
__settings__ = sys.modules["__main__"].__settings__
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"
torrentFilesDirectory = 'torrents'
debug = __settings__.getSetting('debug') == 'true'
subs_dl = __settings__.getSetting('subs_dl') == 'true'
seeding = __settings__.getSetting('keep_seeding') == 'true'
def __init__(self, torrentUrl, params={}):
if 0 == len(self.userStorageDirectory):
try:
temp_dir = tempfile.gettempdir()
except:
temp_dir = tempdir()
self.userStorageDirectory = temp_dir + os.path.sep + 'Torrenter'
else:
self.userStorageDirectory = self.userStorageDirectory + 'Torrenter'
def __init__(self, userStorageDirectory, torrentUrl, params={}):
self.userStorageDirectory = userStorageDirectory
xbmc.Player.__init__(self)
print ("[TorrentPlayer] Initalized")
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="30029">Predownload subtitles from all folders</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="30102">P2P Network</string>
<string id="50301">Save path</string>

View File

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

View File

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