internlm/SWE-Fixer-Train-110K huggingface dataset:
Repository: talonhub/community

Issue:
Improve VSCode draft editor robustness
Users can lose drafts if window switch is too slow.  To address this issue, we propose the following:

- [x] Increase sleep timeout in https://github.com/knausj85/knausj_talon/blob/0d4ad8523b87c2fe10457b7fae7f2ba2f22ad735/draft_editor/draft_editor.py#L112
- [x] Keep last draft in memory, and have "draft submit" when outside of VSCode just submit the most recent draft.  That way if initial draft submit doesn't work, user can just say "draft submit" again
- [x] While we're here, add "draft top", which selects from cursor to start of document


Discussion:
Do we want this sleep to be configurable while we're here? Does also beg the question whether we wanna start adding more configurable sleeps
@AndreasArvidsson mind dropping a link to your fix to jumpstart the impl here?  IIRC you made this fix on your talon files already
https://github.com/AndreasArvidsson/andreas-talon/blob/eae87a0ad5501db11b9fc478b5e9edd450f6e0f2/apps/vscode/draft_editor.talon

https://github.com/AndreasArvidsson/andreas-talon/blob/eae87a0ad5501db11b9fc478b5e9edd450f6e0f2/apps/vscode/draft_editor.py#L39


Resolving patch:
diff --git a/draft_editor/draft_editor.py b/draft_editor/draft_editor.py
--- a/draft_editor/draft_editor.py
+++ b/draft_editor/draft_editor.py
@@ -61,6 +61,8 @@ def handle_app_activate(app):
 
 original_window = None
 
+last_draft = None
+
 
 @mod.action_class
 class Actions:
@@ -86,6 +88,11 @@ def draft_editor_discard():
         """Discard draft editor"""
         close_editor(submit_draft=False)
 
+    def draft_editor_paste_last():
+        """Paste last submitted draft"""
+        if last_draft:
+            actions.user.paste(last_draft)
+
 
 def get_editor_app() -> ui.App:
     editor_names = get_editor_names()
@@ -98,12 +105,14 @@ def get_editor_app() -> ui.App:
 
 
 def close_editor(submit_draft: bool):
+    global last_draft
     remove_tag("user.draft_editor_active")
     actions.edit.select_all()
     selected_text = actions.edit.selected_text()
     actions.edit.delete()
     actions.app.tab_close()
     actions.user.switcher_focus_window(original_window)
-    actions.sleep("200ms")
+    actions.sleep("300ms")
     if submit_draft:
+        last_draft = selected_text
         actions.user.paste(selected_text)


Test patch:
Repository: talonhub/community

Issue:
'wipe' is a command instead of a name for the backspace key
This is problematic because eg. it means `press wipe` does not work in dictation mode.


Discussion:
I think this is a broader symptom of https://github.com/knausj85/knausj_talon/pull/903#discussion_r912411207.  We should prob remove all commands that should just be a symbol / key.  Esp commands in [`symbols.talon`](https://github.com/knausj85/knausj_talon/blob/main/text/symbols.talon)

Resolving patch:
diff --git a/code/keys.py b/code/keys.py
--- a/code/keys.py
+++ b/code/keys.py
@@ -155,6 +155,7 @@ def letters(m) -> str:
     "dot": ".",
     "point": ".",
     "quote": "'",
+    "question": "?",
     "apostrophe": "'",
     "L square": "[",
     "left square": "[",
@@ -178,8 +179,14 @@ def letters(m) -> str:
     "right paren": ")",
     "brace": "{",
     "left brace": "{",
-    "R brace": "}",
+    "brack": "{",
+    "bracket": "{",
+    "left bracket": "{",
+    "r brace": "}",
     "right brace": "}",
+    "r brack": "}",
+    "r bracket": "}",
+    "right bracket": "}",
     "angle": "<",
     "left angle": "<",
     "less than": "<",
@@ -225,9 +232,10 @@ def letters(m) -> str:
 ]
 
 alternate_keys = {
+    "wipe": "backspace",
     "delete": "backspace",
-    "forward delete": "delete",
     #'junk': 'backspace',
+    "forward delete": "delete",
     "page up": "pageup",
     "page down": "pagedown",
 }


Test patch:
Repository: talonhub/community

Issue:
please map both comma and coma to , for now in keys.py
coma being recognized instead of comma comes up a lot for conformer b-series
I think for now we should bind both comma and coma as , in keys.py
and revisit if a future model sorts out the difference better


Discussion:

Resolving patch:
diff --git a/code/keys.py b/code/keys.py
--- a/code/keys.py
+++ b/code/keys.py
@@ -132,6 +132,8 @@ def letters(m) -> str:
     "back tick": "`",
     "grave": "`",
     "comma": ",",
+    # Workaround for issue with conformer b-series; see #946
+    "coma": ",",
     "period": ".",
     "full stop": ".",
     "semicolon": ";",


Test patch:
Repository: talonhub/community

Issue:
"phones that" should DTRT and select the current word if nothing is selected
there's really no need for both `phones that` and `phones word`, we can just make `phones that` do the right thing and select the current word if nothing is selected - ie. if `edit.selected_text()` returns the empty string?


Discussion:

Resolving patch:
diff --git a/core/homophones/homophones.py b/core/homophones/homophones.py
--- a/core/homophones/homophones.py
+++ b/core/homophones/homophones.py
@@ -185,6 +185,15 @@ def homophones_show(m: str):
         """Show the homophones display"""
         raise_homophones(m, False, False)
 
+    def homophones_show_auto():
+        """Show homophones for selection, or current word if selection is empty."""
+        text = actions.edit.selected_text()
+        if text:
+            actions.user.homophones_show(text)
+        else:
+            actions.edit.select_word()
+            actions.user.homophones_show_selection()
+
     def homophones_show_selection():
         """Show the homophones display for the selected text"""
         raise_homophones(actions.edit.selected_text(), False, True)


Test patch:
Repository: talonhub/community

Issue:
`grave` command in dictation mode
The use of `grave` as an alternative to `backtick` is more rare (using backticks at all is rare), and some folks have complained about `grave` showing up in speech when they don't want it. I propose removing it from the keys list.


Discussion:

Resolving patch:
diff --git a/core/keys/keys.py b/core/keys/keys.py
--- a/core/keys/keys.py
+++ b/core/keys/keys.py
@@ -146,7 +146,6 @@ def letters(m) -> str:
     "`": "`",
     ",": ",",  # <== these things
     "back tick": "`",
-    "grave": "`",
     "comma": ",",
     # Workaround for issue with conformer b-series; see #946
     "coma": ",",
@@ -191,6 +190,7 @@ def letters(m) -> str:
     "dash": "-",
     "equals": "=",
     "plus": "+",
+    "grave": "`",
     "tilde": "~",
     "bang": "!",
     "down score": "_",


Test patch:
Repository: hartwork/wnpp.debian.net

Issue:
Tracker link 

![image](https://github.com/hartwork/wnpp.debian.net/assets/127589779/3a692f03-f289-4b59-838b-c449c98d425c)

Both of [these columns](https://github.com/hartwork/wnpp.debian.net/blob/67b24c56c33aeac0238962a0480339a5820b3d79/wnpp_debian_net/templates/wnpp_debian_net/debianwnpp_list.html#L287-L288) link to the same bug report page. Would it be a good idea to change the href on the project name to the tracker.debian.org page of that package?
Tracker link 

![image](https://github.com/hartwork/wnpp.debian.net/assets/127589779/3a692f03-f289-4b59-838b-c449c98d425c)

Both of [these columns](https://github.com/hartwork/wnpp.debian.net/blob/67b24c56c33aeac0238962a0480339a5820b3d79/wnpp_debian_net/templates/wnpp_debian_net/debianwnpp_list.html#L287-L288) link to the same bug report page. Would it be a good idea to change the href on the project name to the tracker.debian.org page of that package?


Discussion:
Hi @shriramters, for ITP and RFP there will not be a tracker package because there is no package yet. From the bug it takes two clicks to get to the tracker page, which is admittedly a bit much. I don't see a good way forward yet. Would making it point to the tracker only some of the time and to not be a link at all else be an improvement?
> Would making it point to the tracker only some of the time and to not be a link at all else be an improvement

Yes I certainly think so, although it's just a suggestion. Please do as you deem fit.
Hi @shriramters, for ITP and RFP there will not be a tracker package because there is no package yet. From the bug it takes two clicks to get to the tracker page, which is admittedly a bit much. I don't see a good way forward yet. Would making it point to the tracker only some of the time and to not be a link at all else be an improvement?
> Would making it point to the tracker only some of the time and to not be a link at all else be an improvement

Yes I certainly think so, although it's just a suggestion. Please do as you deem fit.

Resolving patch:
diff --git a/wnpp_debian_net/models.py b/wnpp_debian_net/models.py
--- a/wnpp_debian_net/models.py
+++ b/wnpp_debian_net/models.py
@@ -99,5 +99,8 @@ def dust_days(self, until=None) -> int:
             until = now()
         return (until - self.mod_stamp).days
 
+    def has_existing_package(self):
+        return IssueKind(self.kind) not in (IssueKind.ITP, IssueKind.RFP)
+
     def __lt__(self, other):
         return self.ident < other.ident
diff --git a/wnpp_debian_net/templatetags/debian_urls.py b/wnpp_debian_net/templatetags/debian_urls.py
--- a/wnpp_debian_net/templatetags/debian_urls.py
+++ b/wnpp_debian_net/templatetags/debian_urls.py
@@ -9,3 +9,8 @@
 @register.simple_tag
 def wnpp_issue_url(issue_id):
     return f'https://bugs.debian.org/cgi-bin/bugreport.cgi?bug={issue_id}'
+
+
+@register.simple_tag
+def debian_package_tracker_url(package_name):
+    return f'https://tracker.debian.org/pkg/{package_name}'


Test patch:
Repository: pyload/pyload

Issue:
FourChanOrg don't work
When i try to download a thread (e.g. http://boards.4chan.org/wg/res/5176429) nothing happens, only BasePlugin will be used,



Discussion:
That resource don't exists.


Resolving patch:
diff --git a/module/plugins/crypter/FourChanOrg.py b/module/plugins/crypter/FourChanOrg.py
--- a/module/plugins/crypter/FourChanOrg.py
+++ b/module/plugins/crypter/FourChanOrg.py
@@ -6,34 +6,20 @@
 from module.plugins.Crypter import Crypter
 
 class FourChanOrg(Crypter):
+    # Based on 4chandl by Roland Beermann
+    # https://gist.github.com/enkore/3492599
     __name__ = "FourChanOrg"
     __type__ = "container"
-    __pattern__ = r"http://(www\.)?(img\.)?(zip\.)?4chan.org/\w+/(res/|imgboard\.html)"
-    __version__ = "0.1"
-    __description__ = """4chan.org Thread Download Plugin"""
-    __author_name__ = ("Spoob")
-    __author_mail__ = ("Spoob@pyload.org")
+    __version__ = "0.3"
+    __pattern__ = r"http://boards\.4chan.org/\w+/res/(\d+)"
+    __description__ = "Downloader for entire 4chan threads"
 
-    def __init__(self, parent):
-        Crypter.__init__(self, parent)
-        self.parent = parent
-        self.html = None
+    def decrypt(self, pyfile):
+        pagehtml = self.load(pyfile.url)
 
-    def file_exists(self):
-        """ returns True or False
-        """
-        return True
+        images = set(re.findall(r'(images\.4chan\.org/[^/]*/src/[^"<]*)', pagehtml))
+        urls = []
+        for image in images:
+            urls.append("http://" + image)
 
-    def proceed(self, url, location):
-        url = self.parent.url
-        html = self.req.load(url)
-        link_pattern = ""
-        temp_links = []
-        if "imagebord.html" in url:
-            link_pattern = '[<a href="(res/\d*\.html)">Reply</a>]'
-            temp_links = re.findall(link_pattern, html)
-            for link in re.findall(link_pattern, html):
-                temp_links.append(link)
-        else:
-            temp_links = re.findall('File : <a href="(http://(?:img\.)?(?:zip\.)?4chan\.org/\w{,3}/src/\d*\..{3})"', html)
-        self.links = temp_links
+        self.core.files.addLinks(urls, self.pyfile.package().id)


Test patch:
Repository: pyload/pyload

Issue:
streamcloud
plugin-request 

I´d like to see a streamcloud integration as it is often used.

cheers



Discussion:
I just started a basic and unoptimised implementation, please comment if you have any improvements


Resolving patch:
diff --git a/module/plugins/hoster/StreamcloudEu.py b/module/plugins/hoster/StreamcloudEu.py
new file mode 100644
--- /dev/null
+++ b/module/plugins/hoster/StreamcloudEu.py
@@ -0,0 +1,28 @@
+# -*- coding: utf-8 -*-
+from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo
+import re
+
+class StreamcloudEu(XFileSharingPro):
+    __name__ = "StreamcloudEu"
+    __type__ = "hoster"
+    __pattern__ = r"http://(www\.)?streamcloud\.eu/\S+"
+    __version__ = "0.01"
+    __description__ = """Streamcloud.eu hoster plugin"""
+    __author_name__ = ("seoester")
+    __author_mail__ = ("seoester@googlemail.com")
+
+    HOSTER_NAME = "streamcloud.eu"
+    DIRECT_LINK_PATTERN = r'file: "(http://(stor|cdn)\d+\.streamcloud.eu:?\d*/.*/video\.mp4)",'
+
+    def setup(self):
+        super(XFileSharingPro, self).setup()
+        self.multiDL = True
+
+    def getDownloadLink(self):
+        found = re.search(self.DIRECT_LINK_PATTERN, self.html, re.S)
+        if found:
+            return found.group(1)
+
+        return super(XFileSharingPro, self).getDownloadLink()
+
+getInfo = create_getInfo(StreamcloudEu)


Test patch:
Repository: pyload/pyload

Issue:
Problem with zippyshare
I have a problem with pyload and zippyshare.

When i add a link from zippyshare the software respond: 'NoneType' object has no attribute 'group' XX MiB ZippyshareCom.

I have add the swf path on configuration of zippyshare before the installation of sfwtools.

I use windows 8 on 64 bit and i had try with youtube and it's ok..

the log is this:

https://gist.github.com/djfelix91/6711122



Discussion:

Resolving patch:
diff --git a/module/plugins/hoster/ZippyshareCom.py b/module/plugins/hoster/ZippyshareCom.py
--- a/module/plugins/hoster/ZippyshareCom.py
+++ b/module/plugins/hoster/ZippyshareCom.py
@@ -26,7 +26,7 @@ class ZippyshareCom(SimpleHoster):
     FILE_INFO_PATTERN = r'document\.getElementById\(\'dlbutton\'\)\.href = "[^;]*/(?P<N>[^"]+)";'
     FILE_OFFLINE_PATTERN = r'>File does not exist on this server</div>'
 
-    DOWNLOAD_URL_PATTERN = r"<script type=\"text/javascript\">([^<]*?)document\.getElementById\('dlbutton'\).href = ([^;]+);"
+    DOWNLOAD_URL_PATTERN = r"<script type=\"text/javascript\">([^<]*?)(document\.getElementById\('dlbutton'\).href = [^;]+;)"
     SEED_PATTERN = r'swfobject.embedSWF\("([^"]+)".*?seed: (\d+)'
     CAPTCHA_KEY_PATTERN = r'Recaptcha.create\("([^"]+)"'
     CAPTCHA_SHORTENCODE_PATTERN = r"shortencode: '([^']+)'"
@@ -69,10 +69,11 @@ def get_file_url(self):
         if found:
             #Method #1: JS eval
             js = "\n".join(found.groups())
-            regex = r"document.getElementById\(\\*'dlbutton\\*'\).omg"
-            omg = re.search(regex + r" = ([^;]+);", js).group(1)
-            js = re.sub(regex + r" = ([^;]+);", '', js)
-            js = re.sub(regex, omg, js)
+            d = re.search(r'span id="omg" class="(\d*)"', self.html).group(1)
+            regex = r"document.getElementById\('omg'\).getAttribute\('class'\)"
+            js = re.sub(regex, d, js)
+            regex = r"document.getElementById\(\\*'dlbutton\\*'\).href = "
+            js = re.sub(regex, '', js)
             url = self.js.eval(js)
         else:
             #Method #2: SWF eval


Test patch:
Repository: pyload/pyload

Issue:
ShareOnline PrePaid is not recognized
As the title says. A PrePaid ShareOnline Account is not recognized as valid Premium Account and therefore pyload asks for Captchas when trying to download an URL.

![Share Online User Profile](https://cloud.githubusercontent.com/assets/3457747/5946557/f3099568-a736-11e4-891e-11db8404ef96.png)

![pyload](https://cloud.githubusercontent.com/assets/3457747/5946588/49292972-a737-11e4-8040-1bbb692f945d.png)



Discussion:

Resolving patch:
diff --git a/module/plugins/accounts/ShareonlineBiz.py b/module/plugins/accounts/ShareonlineBiz.py
--- a/module/plugins/accounts/ShareonlineBiz.py
+++ b/module/plugins/accounts/ShareonlineBiz.py
@@ -8,7 +8,7 @@
 class ShareonlineBiz(Account):
     __name__    = "ShareonlineBiz"
     __type__    = "account"
-    __version__ = "0.30"
+    __version__ = "0.31"
 
     __description__ = """Share-online.biz account plugin"""
     __license__     = "GPLv3"
@@ -40,7 +40,7 @@ def loadAccountInfo(self, user, req):
         if api['a'].lower() != "not_available":
             req.cj.setCookie("share-online.biz", 'a', api['a'])
 
-            premium = api['group'] == "Premium"
+            premium = api['group'] in ["Premium", "PrePaid"]
 
             validuntil = float(api['expire_date'])
 


Test patch:
Repository: pyload/pyload

Issue:
DepositfilesCom Parse error
Hi,

debuglog http://pastebin.com/v0SGFL9R

handleFree_line44.dump.html  http://pastebin.com/2V3Rjn7M
handleFree_line60.dump.html  http://pastebin.com/mxPsFQgk
preload_line455.dump.html      http://pastebin.com/F9vBdCct

TIA



Discussion:

Resolving patch:
diff --git a/module/plugins/hoster/DepositfilesCom.py b/module/plugins/hoster/DepositfilesCom.py
--- a/module/plugins/hoster/DepositfilesCom.py
+++ b/module/plugins/hoster/DepositfilesCom.py
@@ -52,7 +52,9 @@ def handleFree(self, pyfile):
         params = {'fid': m.group(1)}
         self.logDebug("FID: %s" % params['fid'])
 
+        self.setWait(60)
         self.wait()
+
         recaptcha = ReCaptcha(self)
         captcha_key = recaptcha.detect_key()
         if captcha_key is None:


Test patch:
Repository: pyload/pyload

Issue:
Uplea plugin out of date
Hi,
any download from uplea.com fails:
pyLoad reports success on downloading but actually only the HTML page giving acces to download is downloaded...



Discussion:

Resolving patch:
diff --git a/module/plugins/hoster/UpleaCom.py b/module/plugins/hoster/UpleaCom.py
--- a/module/plugins/hoster/UpleaCom.py
+++ b/module/plugins/hoster/UpleaCom.py
@@ -10,23 +10,26 @@
 class UpleaCom(XFSHoster):
     __name__    = "UpleaCom"
     __type__    = "hoster"
-    __version__ = "0.06"
+    __version__ = "0.07"
 
     __pattern__ = r'https?://(?:www\.)?uplea\.com/dl/\w{15}'
 
     __description__ = """Uplea.com hoster plugin"""
     __license__     = "GPLv3"
-    __authors__     = [("Redleon", None)]
+    __authors__     = [("Redleon", None),
+                       ("GammaC0de", None)]
 
 
     NAME_PATTERN = r'class="agmd size18">(?P<N>.+?)<'
-    SIZE_PATTERN = r'size14">(?P<S>[\d.,]+) (?P<U>[\w^_])</span>'
+    SIZE_PATTERN = r'size14">(?P<S>[\d.,]+) (?P<U>[\w^_]+?)</span>'
+    SIZE_REPLACEMENTS = [('Ko','KB'), ('Mo','MB'), ('Go','GB')]
 
     OFFLINE_PATTERN = r'>You followed an invalid or expired link'
+    PREMIUM_PATTERN = r'You need to have a Premium subscription to download this file'
 
-    LINK_PATTERN = r'"(http?://\w+\.uplea\.com/anonym/.*?)"'
+    LINK_PATTERN = r'"(https?://\w+\.uplea\.com/anonym/.*?)"'
 
-    WAIT_PATTERN = r'timeText:([\d.]+),'
+    WAIT_PATTERN = r'timeText: ?([\d.]+),'
     STEP_PATTERN = r'<a href="(/step/.+)">'
 
 
@@ -45,9 +48,14 @@ def handleFree(self, pyfile):
 
         m = re.search(self.WAIT_PATTERN, self.html)
         if m:
+            self.logDebug(_("Waiting %s seconds") % m.group(1))
             self.wait(m.group(1), True)
             self.retry()
 
+        m = re.search(self.PREMIUM_PATTERN, self.html)
+        if m:
+            self.error(_("This URL requires a premium account"))
+
         m = re.search(self.LINK_PATTERN, self.html)
         if m is None:
             self.error(_("LINK_PATTERN not found"))


Test patch:
Repository: pyload/pyload

Issue:
Uplea plugin out of date (#1348 closed but still not working)
Hi,
now pyload reports failure, logs show:
26 25.04.2015 12:19:27 WARNING Download failed: ****\* | Missing HOSTER_DOMAIN
25 25.04.2015 12:19:27 INFO Download starts: ****\* 



Discussion:

Resolving patch:
diff --git a/module/plugins/hoster/UpleaCom.py b/module/plugins/hoster/UpleaCom.py
--- a/module/plugins/hoster/UpleaCom.py
+++ b/module/plugins/hoster/UpleaCom.py
@@ -10,7 +10,7 @@
 class UpleaCom(XFSHoster):
     __name__    = "UpleaCom"
     __type__    = "hoster"
-    __version__ = "0.07"
+    __version__ = "0.08"
 
     __pattern__ = r'https?://(?:www\.)?uplea\.com/dl/\w{15}'
 
@@ -28,6 +28,7 @@ class UpleaCom(XFSHoster):
     PREMIUM_PATTERN = r'You need to have a Premium subscription to download this file'
 
     LINK_PATTERN = r'"(https?://\w+\.uplea\.com/anonym/.*?)"'
+    HOSTER_DOMAIN = "uplea.com"
 
     WAIT_PATTERN = r'timeText: ?([\d.]+),'
     STEP_PATTERN = r'<a href="(/step/.+)">'


Test patch:
Repository: pyload/pyload

Issue:
uplea plugin (still) broken
Hi again,

sorry but inspite of #1369 and #1375, uplea is still not working; now it's back with downloading the HTML download page...
24  26.04.2015 23:29:20 INFO    Download finished: *****
23  26.04.2015 23:29:02 INFO    Download starts: ****

The resulting file has correct name but is 14KB big; expected size if around 350MB



Discussion:

Resolving patch:
diff --git a/module/plugins/hoster/UpleaCom.py b/module/plugins/hoster/UpleaCom.py
--- a/module/plugins/hoster/UpleaCom.py
+++ b/module/plugins/hoster/UpleaCom.py
@@ -10,7 +10,7 @@
 class UpleaCom(XFSHoster):
     __name__    = "UpleaCom"
     __type__    = "hoster"
-    __version__ = "0.08"
+    __version__ = "0.10"
 
     __pattern__ = r'https?://(?:www\.)?uplea\.com/dl/\w{15}'
 
@@ -20,9 +20,11 @@ class UpleaCom(XFSHoster):
                        ("GammaC0de", None)]
 
 
-    NAME_PATTERN = r'class="agmd size18">(?P<N>.+?)<'
-    SIZE_PATTERN = r'size14">(?P<S>[\d.,]+) (?P<U>[\w^_]+?)</span>'
-    SIZE_REPLACEMENTS = [('Ko','KB'), ('Mo','MB'), ('Go','GB')]
+    DISPOSITION = False  #@TODO: Remove in 0.4.10
+
+    NAME_PATTERN = r'<span class="gold-text">(?P<N>.+?)</span>'
+    SIZE_PATTERN = r'<span class="label label-info agmd">(?P<S>[\d.,]+) (?P<U>[\w^_]+?)</span>'
+    SIZE_REPLACEMENTS = [('ko','KB'), ('mo','MB'), ('go','GB'), ('Ko','KB'), ('Mo','MB'), ('Go','GB')]
 
     OFFLINE_PATTERN = r'>You followed an invalid or expired link'
     PREMIUM_PATTERN = r'You need to have a Premium subscription to download this file'


Test patch:
Repository: pyload/pyload

Issue:
Feature Request: [UploadedNet] Detect Maintenance Mode
Please update the UploadedNet plugin so it detects uploaded maintenance mode.

Adding a timer to re-check indefinitely every 5 minutes or so might be necessary.

Else all links in the queue are skipped as offline and have to be restarted manually.

Here is the html code if Uploaded is in maintenance

http://paste2.org/OaBy4vZ6

EDiT: A check for the head title "uploaded.net - Maintenance - Wartungsarbeiten" should suffice, I guess..



Discussion:

Resolving patch:
diff --git a/module/plugins/hoster/UploadedTo.py b/module/plugins/hoster/UploadedTo.py
--- a/module/plugins/hoster/UploadedTo.py
+++ b/module/plugins/hoster/UploadedTo.py
@@ -11,7 +11,7 @@
 class UploadedTo(SimpleHoster):
     __name__    = "UploadedTo"
     __type__    = "hoster"
-    __version__ = "0.86"
+    __version__ = "0.87"
 
     __pattern__ = r'https?://(?:www\.)?(uploaded\.(to|net)|ul\.to)(/file/|/?\?id=|.*?&id=|/)(?P<ID>\w+)'
     __config__  = [("use_premium", "bool", "Use premium account if available", True)]
@@ -27,6 +27,8 @@ class UploadedTo(SimpleHoster):
 
     URL_REPLACEMENTS = [(__pattern__ + ".*", r'http://uploaded.net/file/\g<ID>')]
 
+    TEMP_OFFLINE_PATTERN = r'<title>uploaded\.net - Maintenance - Wartungsarbeiten</title>'
+
     LINK_PREMIUM_PATTERN = r'<div class="tfree".*\s*<form method="post" action="(.+?)"'
 
     WAIT_PATTERN   = r'Current waiting period: <span>(\d+)'


Test patch: