Giter Club home page Giter Club logo

xpbot's People

Contributors

hdvinnie avatar ryelogheat avatar sadstan avatar tobiasglen avatar whynoobmaster69isnotavailable avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

xpbot's Issues

NZBGet Notify

Anyone know any good ways to trigger this projects python upload script using nzb-notify?

nzb-notify uses apprise to send notifications once the nzb file downloads but its all to online services which would require some workarounds to trigger a local bash/python script

I want to be able to use autodl-irrsi & usenet (dognzb "Remote Push") to re-upload media I have filters setup for

If anyone has any good ideas, please comment them below

unit3d latest update broke xpbot

Site response: {"success":false,"message":"Validation Error.","data":{"season_number":["The season number field is required."],"episode_number":["The episode number field is required."]}}
HTTP response status code: 404

kindly update the bot

error uploading to aither

hi,

im getting an error when trying to upload to ath, bhd and blu working fine
the api for aither is in the config.env, it was working the version before

╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ /home27/scr4tch/.apps/xpbot-masterttttttttttt/auto_upload.py:1630 in <module>                    │
│                                                                                                  │
│   1627 │   if "{tracker}_api_key".format(tracker=str(tracker).lower()) in api_keys_dict:         │
│   1628 │   │   # Make sure that an API key is set for that site                                  │
│   1629 │   │   try:                                                                              │
│ ❱ 1630 │   │   │   if len(api_keys_dict[(str(tracker).lower()) + "_api_key"]) <= 1:              │
│   1631 │   │   │   │   raise AssertionError("Provide at least 1 tracker we can upload to (e.g.   │
│   1632 │   │   │   if str(tracker).upper() not in upload_to_trackers:                            │
│   1633 │   │   │   │   upload_to_trackers.append(str(tracker).upper())                           │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
TypeError: object of type 'NoneType' has no len()

uploading images

hi i answered on a closed issue, not sure if you have seen it, so i start a new issue here,
im having trouble uploading images,
i did some testing,

Uploading to imgyukle
Uploading... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━   0% -:--:--
All images uploaded successfully

does not upload anything,
the bbcode_images.txt is empty

imgbox only allows uploading filesizes up to 10 mb (i think)
when the filesize is higher i get this error and the script stops.

Uploading to imgbox
╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ /home27/user/.apps/xpbot-master/./auto_upload.py:1839 in <module>                             │
│                                                                                                  │
│   1836 │   media_info_duration = MediaInfo.parse(torrent_info["raw_video_file"] if "raw_video_f  │
│   1837 │   torrent_info["duration"] = str(media_info_duration.duration).split(".", 1)[0]  # Thi  │
│   1838 │   # Call function to actually take screenshots & upload them (different file)           │
│ ❱ 1839 │   console.print(take_upload_screens(duration=torrent_info["duration"],                  │
│   1840 │   │   │   │   │   │   │   │   │     upload_media_import=torrent_info["raw_video_file"]  │
│   1841 │   │   │   │   │   │   │   │   │     torrent_title_import=torrent_info["title"],         │
│   1842 │   │   │   │   │   │   │   │   │     base_path=working_folder,                           │
│                                                                                                  │
│ /home27/user/.apps/xpbot-master/images/upload_screenshots.py:198 in take_upload_screens       │
│                                                                                                  │
│   195 │   │   # Now we start the actual upload process                                           │
│   196 │   │   for host_site, host_api in upload_to_host_dict.items():                            │
│   197 │   │   │   # Call the function that actually uploads the images                           │
│ ❱ 198 │   │   │   upload_status = upload_screens(img_host=host_site, api_key=host_api, working   │
│   199 │   │   │   # Check "thumbs_links_dict" to verify images have uploaded and we have all t   │
│   200 │   │   │                                                                                  │
│   201 │   │   │   # if upload_status is equal to "failed" then we simply skip everything below   │
│                                                                                                  │
│ /home27/user/.apps/xpbot-master/images/upload_screenshots.py:129 in upload_screens            │
│                                                                                                  │
│   126 │   │   loop = asyncio.get_event_loop()                                                    │
│   127 │   │   loop.run_until_complete(imgbox_upload(list_of_images))                             │
│   128 │   │                                                                                      │
│ ❱ 129 │   │   logging.info(f"imgbox edit_url: {edit_url[0]}")  # log the edit url                │
│   130 │                                                                                          │
│   131 │   # return the dict so we can verify the images successfully uploaded and if so then f   │
│   132 │   return thumbs_links_dict                                                               │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
IndexError: list index out of range

Originally posted by @solongandthxforallthefish in #11 (comment)

Add my tracker please ?

Hello, thank you for this lovely piece of software !!

could you please consider adding my tracker to the list of supported trackers ?
i could provide information / invite
Thanks in advance

Adding categories

Hey, me again and I am terribly sorry for probably opening up some issues now with hopefully not too time consuming requests, however, I tried to use the tool again (the original one) and it worked, but it will only upload into "Motorsport Movies". On our very old version of the upload tool we were able to select the available categories (which are quite a few) and to upload right into it.

I also pushed a commit (is that the right wording?) for the site template, adding our categories + IDs, but using this changed site template gives out a 404 error when uploading files, so I probably screwed something up.

How can we implement all the categories into the script?

unrar option (feature)

hello,
is there a way to make that it does not extract releases, just grabs info from the sample folder? Or add categories option by name?

Possible issue with imgbb

Describe the bug
Last few uploads all took 6 screenshots but none uploaded to imgbb, switching to freeimage.host fixed the issue

To Reproduce
Steps to reproduce the behavior:

  1. Upload using imgbb

Additional context
upload_screenshots.py is supposed to fall back to the next image host (which was the verified working freeimage.host) if 100% of the screenshots fail to upload. Find out why that didn't happen and what's wrong with imgbb

check_dupes argument

when dupe check gets a false positive i have to edit the config.env and change check_dupes to false

would it be possible to have an argument to override check_dupes=true to false from the cli,
or can the script ask if a dupe is found to upload anyway?

love the script, thx

AKA support

For foreign titles, add support for AKA (original title in English alphabet).

Certain trackers (ACM) wants the actual original title in its original foreign characters. Most sites though just want the foreign title sounded out using the English alphabet (IMDB has this)

Consider using https://imdbpy.github.io/

'charmap' codec can't encode character

How to fix this error? Re-installed Python to latest version 3.9.5 doesn't solve the issue.

c:\xpbot\auto_upload.py:1893 in <module> │ │ │ │ 1890 │ │ │ │ │ description.write(line) │ │ 1891 │ │ │ │ │ │ 1892 │ │ │ │ # Finally append the entire thing with some shameless self promotion ;) │ │ > 1893 │ │ │ │ description.write(f' {bbcode_line_break}{bbcode_line_break} Uploaded wit │ │ 1894 │ │ │ │ │ 1895 │ │ │ # Add the finished file to the 'torrent_info' dict │ │ 1896 │ │ │ torrent_info["description"] = f'{working_folder}/temp_upload/description.txt │ │ │ │ C:\Python38\lib\encodings\cp1252.py:19 in encode │ │ │ │ 16 │ │ 17 class IncrementalEncoder(codecs.IncrementalEncoder): │ │ 18 │ def encode(self, input, final=False): │ │ > 19 │ │ return codecs.charmap_encode(input,self.errors,encoding_table)[0] │ │ 20 │ │ 21 class IncrementalDecoder(codecs.IncrementalDecoder): │ │ 22 │ def decode(self, input, final=False): │ └──────────────────────────────────────────────────────────────────────────────────────────────────┘ UnicodeEncodeError: 'charmap' codec can't encode character '\u2764' in position 39: character maps to <undefined>

Ability to upload Anon to sites

Given that anon uploading via API is capable on UNIT3D sites. Would be good to see if we can upload via anon via the script to sites.

Argument for Type of Content

Sometimes the script cannot differentiate between movie and tv series. Is there any argument/flag that we can parse in the command to manually specify?

Does not recognized DDP Atmos soundtracks

DDP Atmos seems to not get recognized by the script

mediainfo:

Format : E-AC-3 JOC
Format/Info : Enhanced AC-3 with Joint Object Coding
Commercial name : Dolby Digital Plus with Dolby Atmos

Add notifications

Send notifications to Slack or Discord detailing what's being uploaded, torrent title, and final upload status. As well as any errors encountered during the upload process

autoupload

The auto upload script doesn't seem to be working. I tried to use if, but it doesn't even trigger (since there are no log files generated).

I followed the guide precisely; configured the auto-dl filters exactly. Edited my .rtorrent.rc present in my directory. Renamed rtorrent_on_complete_reupload.sh.sample as well as edited it. Am I missing something or is it broken?

Getting Python KeyErrors running the script

I have installed this script in my seedbox but I am getting a KeyError when it is querying the flask app to convert TMDB/IMDB IDs to MAL IDs,

putty_2021-06-09_01-38-42

If I comment out lines 1106 to 1110 to skip this if function, I also run into another KeyError when uploading screenshots.

putty_2021-06-09_01-52-34

Both of them seem to error out when receiving a response.

Season packs.

Can you fix so that the script sends Episode 0 when publishing a seasonal pack?

add a new site

Hello,

what wouldit take to add a new site to this code?

upload to imgbox broken

upload to imgbox ist not working anymore,

Uploading to imgbox
╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ /home27/user/.apps/xpbot-master/auto_upload.py:1725 in <module>                               │
│                                                                                                  │
│   1722 │   media_info_duration = MediaInfo.parse(torrent_info["raw_video_file"] if "raw_video_f  │
│   1723 │   torrent_info["duration"] = str(media_info_duration.duration).split(".", 1)[0]  # Thi  │
│   1724 │   # Call function to actually take screenshots & upload them (different file)           │
│ ❱ 1725 │   console.print(take_upload_screens(duration=torrent_info["duration"],                  │
│   1726 │   │   │   │   │   │   │   │   │     upload_media_import=torrent_info["raw_video_file"]  │
│   1727 │   │   │   │   │   │   │   │   │     torrent_title_import=torrent_info["title"],         │
│   1728 │   │   │   │   │   │   │   │   │     base_path=working_folder,                           │
│                                                                                                  │
│ /home27/user/.apps/xpbot-master/images/upload_screenshots.py:191 in take_upload_screens       │
│                                                                                                  │
│   188 │   │   # Now we start the actual upload process                                           │
│   189 │   │   for host_site, host_api in upload_to_host_dict.items():                            │
│   190 │   │   │   # Call the function that actually uploads the images                           │
│ ❱ 191 │   │   │   upload_status = upload_screens(img_host=host_site, api_key=host_api, working   │
│   192 │   │   │   # Check "thumbs_links_dict" to verify images have uploaded and we have all t   │
│   193 │   │   │                                                                                  │
│   194 │   │   │   # if upload_status is equal to "failed" then we simply skip everything below   │
│                                                                                                  │
│ /home27/user/.apps/xpbot-master/images/upload_screenshots.py:122 in upload_screens            │
│                                                                                                  │
│   119 │   │   for file in os.listdir(working_folder + "/images/screenshots/"):                   │
│   120 │   │   │   list_of_images.append(working_folder + "/images/screenshots/" + file)  # app   │
│   121 │   │   asyncio.run(imgbox_upload(list_of_images))  # call the function that uploads ima   │
│ ❱ 122 │   │   logging.info(f"imgbox edit_url: {edit_url[0]}")  # log the edit url                │
│   123 │                                                                                          │
│   124 │   # return the dict so we can verify the images successfully uploaded and if so then f   │
│   125 │   return thumbs_links_dict                                                               │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
IndexError: list index out of range

nfo_file not uploading.

Hi I get my tracker working all fine, but .nfo is not uploaded.
Neither by autodetect or if I give the path to .nfo file.

RuntimeError: Unexpected response: {'files': [{'error': 'image has been banned', 'error_code': 107, 'url': '', 'thumbnail_url':...

I'm getting these errors when the program tries to upload the screenshots:

Uploading to imgbox
┌─────────────────────────────── Traceback (most recent call last) ────────────────────────────────┐
│ C:\Users\AppData\Local\Programs\Python\Python37\lib\site-packages\pyimgbox\_gallery.py:263 │
│ in _upload_image                                                                                 │
│                                                                                                  │
│   260 │   │   │   log.debug('POST response: %s', response)                                       │
│   261 │   │   │   try:                                                                           │
│   262 │   │   │   │   info = response['files'][0]                                                │
│ > 263 │   │   │   │   image_url = info['original_url']                                           │
│   264 │   │   │   │   thumbnail_url = info['thumbnail_url']                                      │
│   265 │   │   │   │   web_url = info['url']                                                      │
│   266 │   │   │   except (KeyError, IndexError, TypeError) as e:                                 │
└──────────────────────────────────────────────────────────────────────────────────────────────────┘
KeyError: 'original_url'

The above exception was the direct cause of the following exception:

┌─────────────────────────────── Traceback (most recent call last) ────────────────────────────────┐
│ C:\Users\Desktop\xpbot-master\auto_upload.py:1871 in <module>                              │
│                                                                                                  │
│   1868 │   │   │   │   │   │   │   │   │     upload_media_import=torrent_info["raw_video_file"]  │
│   1869 │   │   │   │   │   │   │   │   │     torrent_title_import=torrent_info["title"],         │
│   1870 │   │   │   │   │   │   │   │   │     base_path=working_folder,                           │
│ > 1871 │   │   │   │   │   │   │   │   │     discord_url=discord_url                             │
│   1872 │   │   │   │   │   │   │   │   │     ))                                                  │
│   1873 │   if os.path.exists(f'{working_folder}/temp_upload/bbcode_images.txt'):                 │
│   1874 │   │   torrent_info["bbcode_images"] = f'{working_folder}/temp_upload/bbcode_images.txt  │
│                                                                                                  │
│ C:\Users\Desktop\xpbot-master\images\upload_screenshots.py:238 in take_upload_screens      │
│                                                                                                  │
│   235 │   │   # Now we start the actual upload process                                           │
│   236 │   │   for host_site, host_api in upload_to_host_dict.items():                            │
│   237 │   │   │   # Call the function that actually uploads the images                           │
│ > 238 │   │   │   upload_status = upload_screens(img_host=host_site, api_key=host_api, working   │
│   239 │   │   │   # Check "thumbs_links_dict" to verify images have uploaded and we have all t   │
│   240 │   │   │                                                                                  │
│   241 │   │   │   # if upload_status is equal to "failed" then we simply skip everything below   │
│                                                                                                  │
│ C:\Users\Desktop\xpbot-master\images\upload_screenshots.py:167 in upload_screens           │
│                                                                                                  │
│   164 │   │                                                                                      │
│   165 │   │   # Python 3.6 friendly alternative                                                  │
│   166 │   │   loop = asyncio.get_event_loop()                                                    │
│ > 167 │   │   loop.run_until_complete(imgbox_upload(list_of_images))                             │
│   168 │   │                                                                                      │
│   169 │   │   logging.info(f"imgbox edit_url: {edit_url[0]}")  # log the edit url                │
│                                                                                                  │
│ C:\Users\AppData\Local\Programs\Python\Python37\lib\asyncio\base_events.py:587 in          │
│ run_until_complete                                                                               │
│                                                                                                  │
│    584 │   │   if not future.done():                                                             │
│    585 │   │   │   raise RuntimeError('Event loop stopped before Future completed.')             │
│    586 │   │                                                                                     │
│ >  587 │   │   return future.result()                                                            │
│    588 │                                                                                         │
│    589 │   def stop(self):                                                                       │
│    590 │   │   """Stop running the event loop.                                                   │
│                                                                                                  │
│ C:\Users\Desktop\xpbot-master\images\upload_screenshots.py:139 in imgbox_upload            │
│                                                                                                  │
│   136 │   if img_host == "imgbox":                                                               │
│   137 │   │   async def imgbox_upload(list_of_filepath):                                         │
│   138 │   │   │   async with pyimgbox.Gallery(title=torrent_title, thumb_width=350) as gallery   │
│ > 139 │   │   │   │   async for submission in gallery.add(list_of_filepath):                     │
│   140 │   │   │   │   │   if not submission['success']:                                          │
│   141 │   │   │   │   │   │   logging.error(f"{submission['filename']}: {submission['error']}"   │
│   142 │   │   │   │   │   │   return "failed"                                                    │
│                                                                                                  │
│ C:\Users\AppData\Local\Programs\Python\Python37\lib\site-packages\pyimgbox\_gallery.py:303 │
│ in add                                                                                           │
│                                                                                                  │
│   300 │   │   Yield Submission objects asynchronously.                                           │
│   301 │   │   """                                                                                │
│   302 │   │   for filepath, filetuple, error in self._prepare(*filepaths):                       │
│ > 303 │   │   │   yield await self._upload_image(filepath, filetuple, error)                     │
│   304 │                                                                                          │
│   305 │   def __repr__(self):                                                                    │
│   306 │   │   return (                                                                           │
│                                                                                                  │
│ C:\Users\AppData\Local\Programs\Python\Python37\lib\site-packages\pyimgbox\_gallery.py:268 │
│ in _upload_image                                                                                 │
│                                                                                                  │
│   265 │   │   │   │   web_url = info['url']                                                      │
│   266 │   │   │   except (KeyError, IndexError, TypeError) as e:                                 │
│   267 │   │   │   │   log.debug('Unexpected response: %r', response)                             │
│ > 268 │   │   │   │   raise RuntimeError(f'Unexpected response: {response!r}') from e            │
│   269 │   │   │   return Submission(                                                             │
│   270 │   │   │   │   filepath=filepath,                                                         │
│   271 │   │   │   │   image_url=image_url,                                                       │
└──────────────────────────────────────────────────────────────────────────────────────────────────┘
RuntimeError: Unexpected response: {'files': [{'error': 'image has been banned', 'error_code': 107, 'url': '', 'thumbnail_url': '', 'delete_url': '',
'delete_type': 'DELETE', 'name': 'M.C. Escher', 'size': 0}]}

I made a test with another file and worked, but with this one, I had this problem.

image upload error

2022-01-23 17:38:40,077 | root | ERROR | freeimage upload failed. JSON Response: {'status_code': 400, 'error': {'message': 'Invalid API v1 key.', 'code': 100, 'context': 'Exception'}, 'status_txt': 'Bad Request'}
2022-01-23 17:38:40,078 | root | CRITICAL | Required Python version to use pyimgbox is: 3.7+ You currently are on 3.6.9
2022-01-23 17:38:40,954 | root | ERROR | imgbb upload failed. JSON Response: {'status_code': 400, 'error': {'message': 'Rate limit reached.', 'code': 100, 'context': 'Exception'}, 'status_txt': 'Bad Request'}
2022-01-23 17:38:41,839 | root | ERROR | freeimage upload failed. JSON Response: {'status_code': 400, 'error': {'message': 'Invalid API v1 key.', 'code': 100, 'context': 'Exception'}, 'status_txt': 'Bad Request'}
2022-01-23 17:38:41,841 | root | CRITICAL | Required Python version to use pyimgbox is: 3.7+ You currently are on 3.6.9
2022-01-23 17:38:42,834 | root | ERROR | imgbb upload failed. JSON Response: {'status_code': 400, 'error': {'message': 'Rate limit reached.', 'code': 100, 'context': 'Exception'}, 'status_txt': 'Bad Request'}
2022-01-23 17:38:43,837 | root | ERROR | freeimage upload failed. JSON Response: {'status_code': 400, 'error': {'message': 'Invalid API v1 key.', 'code': 100, 'context': 'Exception'}, 'status_txt': 'Bad Request'}
2022-01-23 17:38:43,837 | root | CRITICAL | Required Python version to use pyimgbox is: 3.7+ You currently are on 3.6.9
2022-01-23 17:38:44,795 | root | ERROR | imgbb upload failed. JSON Response: {'status_code': 400, 'error': {'message': 'Rate limit reached.', 'code': 100, 'context': 'Exception'}, 'status_txt': 'Bad Request'}
2022-01-23 17:38:45,831 | root | ERROR | freeimage upload failed. JSON Response: {'status_code': 400, 'error': {'message': 'Invalid API v1 key.', 'code': 100, 'context': 'Exception'}, 'status_txt': 'Bad Request'}
2022-01-23 17:38:45,831 | root | CRITICAL | Required Python version to use pyimgbox is: 3.7+ You currently are on 3.6.9
2022-01-23 17:38:46,709 | root | ERROR | imgbb upload failed. JSON Response: {'status_code': 400, 'error': {'message': 'Rate limit reached.', 'code': 100, 'context': 'Exception'}, 'status_txt': 'Bad Request'}
2022-01-23 17:38:47,622 | root | ERROR | freeimage upload failed. JSON Response: {'status_code': 400, 'error': {'message': 'Invalid API v1 key.', 'code': 100, 'context': 'Exception'}, 'status_txt': 'Bad Request'}
2022-01-23 17:38:47,622 | root | CRITICAL | Required Python version to use pyimgbox is: 3.7+ You currently are on 3.6.9
2022-01-23 17:38:47,625 | root | ERROR | 6/6 screenshots failed to upload

imgbox & asyncio upload fail

Error message:
AttributeError: module 'asyncio' has no attribute 'run'

Happens when used in auto mode with imgbox selected as the imghost

Consider dropping support for imgbox AKA pyimgbox and just using imghosts with a public API & ideally based off chevereto

Getting Error for DT, I added DT to Config All went fine failed to upload to desitorrents

Site response:

    <title>Server Error</title>

    <!-- Fonts -->
    <link rel="preconnect" href="https://fonts.gstatic.com">
    <link href="https://fonts.googleapis.com/css2?family=Nunito&display=swap" rel="stylesheet">

    <style>
        /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-t

ext-size-adjust:100%}body{margin:0}a{background-color:transparent}code{font-family:monospace,monospace;font-size:1em}{d
isplay:none}html{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto
Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color
Emoji;line-height:1.5}*,:after,:before{box-sizing:border-box;border:0 solid
#e2e8f0}a{color:inherit;text-decoration:inherit}code{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,mono
space}svg,video{display:block;vertical-align:middle}video{max-width:100%;height:auto}.bg-white{--bg-opacity:1;backgroun
d-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.bg-gray-100{--bg-opacity:1;background-color:#f7fafc;
background-color:rgba(247,250,252,var(--bg-opacity))}.border-gray-200{--border-opacity:1;border-color:#edf2f7;border-co
lor:rgba(237,242,247,var(--border-opacity))}.border-gray-400{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(
203,213,224,var(--border-opacity))}.border-t{border-top-width:1px}.border-r{border-right-width:1px}.flex{display:flex}.
grid{display:grid}.hidden{display:none}.items-center{align-items:center}.justify-center{justify-content:center}.font-se
mibold{font-weight:600}.h-5{height:1.25rem}.h-8{height:2rem}.h-16{height:4rem}.text-sm{font-size:.875rem}.text-lg{font-
size:1.125rem}.leading-7{line-height:1.75rem}.mx-auto{margin-left:auto;margin-right:auto}.ml-1{margin-left:.25rem}.mt-2
{margin-top:.5rem}.mr-2{margin-right:.5rem}.ml-2{margin-left:.5rem}.mt-4{margin-top:1rem}.ml-4{margin-left:1rem}.mt-8{m
argin-top:2rem}.ml-12{margin-left:3rem}.-mt-px{margin-top:-1px}.max-w-xl{max-width:36rem}.max-w-6xl{max-width:72rem}.mi
n-h-screen{min-height:100vh}.overflow-hidden{overflow:hidden}.p-6{padding:1.5rem}.py-4{padding-top:1rem;padding-bottom:
1rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.pt-8{padding-top:2rem}.
fixed{position:fixed}.relative{position:relative}.top-0{top:0}.right-0{right:0}.shadow{box-shadow:0 1px 3px 0
rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.text-center{text-align:center}.text-gray-200{--text-opacity:1;color:#edf2f7
;color:rgba(237,242,247,var(--text-opacity))}.text-gray-300{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(-
-text-opacity))}.text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.text-gray-50
0{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.text-gray-600{--text-opacity:1;color:#718
096;color:rgba(113,128,150,var(--text-opacity))}.text-gray-700{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(
--text-opacity))}.text-gray-900{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.uppercase{text
-transform:uppercase}.underline{text-decoration:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font
-smoothing:grayscale}.tracking-wider{letter-spacing:.05em}.w-5{width:1.25rem}.w-8{width:2rem}.w-auto{width:auto}.grid-c
ols-1{grid-template-columns:repeat(1,minmax(0,1fr))}@-webkit-keyframes
spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@Keyframes
spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@-webkit-keyframes
ping{0%{transform:scale(1);opacity:1}75%,to{transform:scale(2);opacity:0}}@Keyframes
ping{0%{transform:scale(1);opacity:1}75%,to{transform:scale(2);opacity:0}}@-webkit-keyframes
pulse{0%,to{opacity:1}50%{opacity:.5}}@Keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@-webkit-keyframes bounce{0%,to
{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-be
zier(.8,0,1,1)}50%{transform:translateY(0);-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-fu
nction:cubic-bezier(0,0,.2,1)}}@Keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cu
bic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);-webkit-animation-tim
ing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}@media (min-width:640px){.sm:rou
nded-lg{border-radius:.5rem}.sm:block{display:block}.sm:items-center{align-items:center}.sm:justify-start{justify-co
ntent:flex-start}.sm:justify-between{justify-content:space-between}.sm:h-20{height:5rem}.sm:ml-0{margin-left:0}.sm:
px-6{padding-left:1.5rem;padding-right:1.5rem}.sm:pt-0{padding-top:0}.sm:text-left{text-align:left}.sm:text-right{te
xt-align:right}}@media (min-width:768px){.md:border-t-0{border-top-width:0}.md:border-l{border-left-width:1px}.md:gr
id-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media
(min-width:1024px){.lg:px-8{padding-left:2rem;padding-right:2rem}}@media (prefers-color-scheme:dark){.dark:bg-gray-80
0{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.dark:bg-gray-900{--bg-opa
city:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.dark:border-gray-700{--border-opaci
ty:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.dark:text-white{--text-opacity:1;color:#
fff;color:rgba(255,255,255,var(--text-opacity))}.dark:text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,
224,var(--text-opacity))}}
</style>

    <style>
        body {
            font-family: 'Nunito', sans-serif;
        }
    </style>
</head>
<body class="antialiased">
    <div class="relative flex items-top justify-center min-h-screen bg-gray-100 dark:bg-gray-900 sm:items-center

sm:pt-0">




500

                <div class="ml-4 text-lg text-gray-500 uppercase tracking-wider">
                    Server Error                    </div>
            </div>
        </div>
    </div>
</body>

HTTP response status code: 500
The upload might have failed, the site isn't returning the uploads status

rtorrent.rc

when i add these lines in my .rtorrent.rc file it will not start after i restart rtorrent.

method.insert = d.data_path, simple, "if=(d.is_multi_file), (cat,(d.directory),/), (cat,(d.directory),/,(d.name))"
/home/fookas/xpbot-master/rtorrent_on_complete_reupload.sh
method.set_key = event.download.finished,complete,"execute=/home/fookas/xpbot-master/rtorrent_on_complete_reupload.sh,$d.name=,$d.data_path=,$d.custom1=,$d.custom=upload_to_tracker"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.