text:
Getting FFMPEG errror on certain files.

Getting the error below only on certain files. Then it auto deletes the file.
2018-04-29 22:29:09 - uTorrentPostProcess - INFO - uTorrent post processing started.
2018-04-29 22:29:09 - readSettings - INFO - C:\Python27\python.exe
2018-04-29 22:29:09 - uTorrentPostProcess - INFO - Performing conversion
2018-04-29 22:29:09 - uTorrentPostProcess - INFO - Processing file C:\Users\Plexbox\Downloads\sonarr\Silicon.Valley.S05E06.Artificial.Emotional.Intelligence.1080p.AMZN.WEBRip.DDP5.1.x264-NTb[rarbg]\Silicon.Valley.S05E06.Artificial.Emotional.Intelligence.1080p.AMZN.WEB-DL.DDP5.1.H.264-NTb.mkv.
2018-04-29 22:29:09 - mkvtomp4 - INFO - Reading video stream.
2018-04-29 22:29:09 - mkvtomp4 - INFO - Video codec detected: h264.
2018-04-29 22:29:09 - mkvtomp4 - INFO - Pix Fmt: yuv420p.
2018-04-29 22:29:09 - mkvtomp4 - INFO - Profile: High.
2018-04-29 22:29:09 - mkvtomp4 - INFO - Reading audio streams.
2018-04-29 22:29:09 - mkvtomp4 - INFO - Audio detected for stream #1: eac3 [eng].
2018-04-29 22:29:09 - mkvtomp4 - INFO - Creating audio stream 0 from source stream 1.
2018-04-29 22:29:09 - mkvtomp4 - INFO - Audio Track is number 1 setting disposition to default
2018-04-29 22:29:09 - mkvtomp4 - INFO - Reading subtitle streams.
2018-04-29 22:29:09 - mkvtomp4 - INFO - Subtitle detected for stream #2: subrip [eng].
2018-04-29 22:29:09 - mkvtomp4 - INFO - Subtitle detected for stream #3: subrip [eng].
2018-04-29 22:29:09 - mkvtomp4 - INFO - Starting conversion.
2018-04-29 22:29:09 - mkvtomp4 - ERROR - Error converting file, FFMPEG error.
Traceback (most recent call last):
  File "C:\Users\Plexbox\Desktop\sickbeard_mp4_automator-master\mkvtomp4.py", line 732, in convert
    for timecode in conv:
  File "C:\Users\Plexbox\Desktop\sickbeard_mp4_automator-master\converter\__init__.py", line 243, in convert
    timeout=timeout, preopts=preopts, postopts=postopts):
  File "C:\Users\Plexbox\Desktop\sickbeard_mp4_automator-master\converter\ffmpeg.py", line 551, in convert
    total_output, pid=p.pid)
FFMpegConvertError: <FFMpegConvertError error="Exited with code 1", pid=18576, cmd="C:\ffmpeg\ffmpeg.exe -hwaccel dxva2 -i C:\Users\Plexbox\Downloads\sonarr\Silicon.Valley.S05E06.Artificial.Emotional.Intelligence.1080p.AMZN.WEBRip.DDP5.1.x264-NTb[rarbg]\Silicon.Valley.S05E06.Artificial.Emotional.Intelligence.1080p.AMZN.WEB-DL.DDP5.1.H.264-NTb.mkv -vcodec copy -map 0:0 -c:a:0 aac -map 0:1 -disposition:a:0 default -ac:a:0 6 -b:a:0 1536k -metadata:s:a:0 language=eng -strict experimental -f mp4 -threads auto -y C:\Users\Plexbox\Downloads\sonarr\Silicon.Valley.S05E06.Artificial.Emotional.Intelligence.1080p.AMZN.WEBRip.DDP5.1.x264-NTb[rarbg]\Silicon.Valley.S05E06.Artificial.Emotional.Intelligence.1080p.AMZN.WEBRip.DDP5.1.x264-NTb[rarbg]-convert\Silicon.Valley.S05E06.Artificial.Emotional.Intelligence.1080p.AMZN.WEB-DL.DDP5.1.H.264-NTb.mp4">
2018-04-29 22:29:09 - mkvtomp4 - ERROR - C:\ffmpeg\ffmpeg.exe -hwaccel dxva2 -i C:\Users\Plexbox\Downloads\sonarr\Silicon.Valley.S05E06.Artificial.Emotional.Intelligence.1080p.AMZN.WEBRip.DDP5.1.x264-NTb[rarbg]\Silicon.Valley.S05E06.Artificial.Emotional.Intelligence.1080p.AMZN.WEB-DL.DDP5.1.H.264-NTb.mkv -vcodec copy -map 0:0 -c:a:0 aac -map 0:1 -disposition:a:0 default -ac:a:0 6 -b:a:0 1536k -metadata:s:a:0 language=eng -strict experimental -f mp4 -threads auto -y C:\Users\Plexbox\Downloads\sonarr\Silicon.Valley.S05E06.Artificial.Emotional.Intelligence.1080p.AMZN.WEBRip.DDP5.1.x264-NTb[rarbg]\Silicon.Valley.S05E06.Artificial.Emotional.Intelligence.1080p.AMZN.WEBRip.DDP5.1.x264-NTb[rarbg]-convert\Silicon.Valley.S05E06.Artificial.Emotional.Intelligence.1080p.AMZN.WEB-DL.DDP5.1.H.264-NTb.mp4
2018-04-29 22:29:09 - mkvtomp4 - ERROR - ffmpeg version N-90615-g53688b62ca Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 7.3.0 (GCC)
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth
  libavutil      56. 13.100 / 56. 13.100
  libavcodec     58. 17.100 / 58. 17.100
  libavformat    58. 10.100 / 58. 10.100
  libavdevice    58.  2.100 / 58.  2.100
  libavfilter     7. 14.100 /  7. 14.100
  libswscale      5.  0.102 /  5.  0.102
  libswresample   3.  0.101 /  3.  0.101
  libpostproc    55.  0.100 / 55.  0.100
Guessed Channel Layout for Input Stream #0.1 : 5.1
Input #0, matroska,webm, from 'C:\Users\Plexbox\Downloads\sonarr\Silicon.Valley.S05E06.Artificial.Emotional.Intelligence.1080p.AMZN.WEBRip.DDP5.1.x264-NTb[rarbg]\Silicon.Valley.S05E06.Artificial.Emotional.Intelligence.1080p.AMZN.WEB-DL.DDP5.1.H.264-NTb.mkv':
  Metadata:
    encoder         : libebml v1.3.5 + libmatroska v1.4.8
    creation_time   : 2018-04-30T02:07:53.000000Z
  Duration: 00:30:58.86, start: 0.000000, bitrate: 8423 kb/s
    Chapter #0:0: start 0.000000, end 1.418000
    Metadata:
      title           : Ratings
    Chapter #0:1: start 1.418000, end 38.418000
    Metadata:
      title           : Previously On
    Chapter #0:2: start 38.418000, end 43.418000
    Metadata:
      title           : Studio Logo
    Chapter #0:3: start 43.418000, end 146.418000
    Metadata:
      title           : Interim CEO
    Chapter #0:4: start 146.418000, end 157.418000
    Metadata:
      title           : Title Sequence
    Chapter #0:5: start 157.418000, end 612.418000
    Metadata:
      title           : Scene 1
    Chapter #0:6: start 612.418000, end 1256.418000
    Metadata:
      title           : Scene 1
    Chapter #0:7: start 1256.418000, end 1747.418000
    Metadata:
      title           : Scene 1
    Chapter #0:8: start 1747.418000, end 1817.418000
    Metadata:
      title           : End Credits
    Chapter #0:9: start 1817.418000, end 1858.858000
    Metadata:
      title           : Next On
    Stream #0:0: Video: h264 (High), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
    Metadata:
      BPS             : 7780760
      BPS-eng         : 7780760
      DURATION        : 00:30:58.858000000
      DURATION-eng    : 00:30:58.858000000
      NUMBER_OF_FRAMES: 44568
      NUMBER_OF_FRAMES-eng: 44568
      NUMBER_OF_BYTES : 1807916019
      NUMBER_OF_BYTES-eng: 1807916019
      _STATISTICS_WRITING_APP: mkvmerge v19.0.0 ('Brave Captain') 64-bit
      _STATISTICS_WRITING_APP-eng: mkvmerge v19.0.0 ('Brave Captain') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2018-04-30 02:07:53
      _STATISTICS_WRITING_DATE_UTC-eng: 2018-04-30 02:07:53
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Stream #0:1(eng): Audio: eac3, 48000 Hz, 5.1, fltp (default)
    Metadata:
      BPS             : 640000
      BPS-eng         : 640000
      DURATION        : 00:30:58.784000000
      DURATION-eng    : 00:30:58.784000000
      NUMBER_OF_FRAMES: 58087
      NUMBER_OF_FRAMES-eng: 58087
      NUMBER_OF_BYTES : 148702720
      NUMBER_OF_BYTES-eng: 148702720
      _STATISTICS_WRITING_APP: mkvmerge v19.0.0 ('Brave Captain') 64-bit
      _STATISTICS_WRITING_APP-eng: mkvmerge v19.0.0 ('Brave Captain') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2018-04-30 02:07:53
      _STATISTICS_WRITING_DATE_UTC-eng: 2018-04-30 02:07:53
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Stream #0:2(eng): Subtitle: subrip
    Metadata:
      BPS             : 101
      BPS-eng         : 101
      DURATION        : 00:30:52.459000000
      DURATION-eng    : 00:30:52.459000000
      NUMBER_OF_FRAMES: 738
      NUMBER_OF_FRAMES-eng: 738
      NUMBER_OF_BYTES : 23446
      NUMBER_OF_BYTES-eng: 23446
      _STATISTICS_WRITING_APP: mkvmerge v19.0.0 ('Brave Captain') 64-bit
      _STATISTICS_WRITING_APP-eng: mkvmerge v19.0.0 ('Brave Captain') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2018-04-30 02:07:53
      _STATISTICS_WRITING_DATE_UTC-eng: 2018-04-30 02:07:53
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Stream #0:3(eng): Subtitle: subrip
    Metadata:
      title           : SDH
      BPS             : 105
      BPS-eng         : 105
      DURATION        : 00:30:52.459000000
      DURATION-eng    : 00:30:52.459000000
      NUMBER_OF_FRAMES: 779
      NUMBER_OF_FRAMES-eng: 779
      NUMBER_OF_BYTES : 24413
      NUMBER_OF_BYTES-eng: 24413
      _STATISTICS_WRITING_APP: mkvmerge v19.0.0 ('Brave Captain') 64-bit
      _STATISTICS_WRITING_APP-eng: mkvmerge v19.0.0 ('Brave Captain') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2018-04-30 02:07:53
      _STATISTICS_WRITING_DATE_UTC-eng: 2018-04-30 02:07:53
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
C:\Users\Plexbox\Downloads\sonarr\Silicon.Valley.S05E06.Artificial.Emotional.Intelligence.1080p.AMZN.WEBRip.DDP5.1.x264-NTb[rarbg]\Silicon.Valley.S05E06.Artificial.Emotional.Intelligence.1080p.AMZN.WEBRip.DDP5.1.x264-NTb[rarbg]-convert\Silicon.Valley.S05E06.Artificial.Emotional.Intelligence.1080p.AMZN.WEB-DL.DDP5.1.H.264-NTb.mp4: No such file or directory

2018-04-29 22:29:09 - uTorrentPostProcess - ERROR - Error converting file C:\Users\Plexbox\Downloads\sonarr\Silicon.Valley.S05E06.Artificial.Emotional.Intelligence.1080p.AMZN.WEBRip.DDP5.1.x264-NTb[rarbg]\Silicon.Valley.S05E06.Artificial.Emotional.Intelligence.1080p.AMZN.WEB-DL.DDP5.1.H.264-NTb.mkv.
Traceback (most recent call last):
  File "C:\Users\Plexbox\Desktop\sickbeard_mp4_automator-master\uTorrentPostProcess.py", line 144, in <module>
    ignore.append(output['output'])
TypeError: 'bool' object has no attribute '__getitem__'
2018-04-29 22:29:09 - uTorrentPostProcess - INFO - Passing C:\Users\Plexbox\Downloads\sonarr\Silicon.Valley.S05E06.Artificial.Emotional.Intelligence.1080p.AMZN.WEBRip.DDP5.1.x264-NTb[rarbg]\Silicon.Valley.S05E06.Artificial.Emotional.Intelligence.1080p.AMZN.WEBRip.DDP5.1.x264-NTb[rarbg]-convert directory to Sonarr.
2018-04-29 22:29:09 - autoprocess.sonarr - INFO - Sonarr notifier started.
2018-04-29 22:29:09 - autoprocess.sonarr - INFO - Requesting Sonarr to scan directory 'C:\Users\Plexbox\Downloads\sonarr\Silicon.Valley.S05E06.Artificial.Emotional.Intelligence.1080p.AMZN.WEBRip.DDP5.1.x264-NTb[rarbg]\Silicon.Valley.S05E06.Artificial.Emotional.Intelligence.1080p.AMZN.WEBRip.DDP5.1.x264-NTb[rarbg]-convert'.
2018-04-29 22:29:10 - autoprocess.sonarr - INFO - Sonarr response: queued.

If I then go back in and run Manual.py against the file, it works normally. Any ideas on why the failure?

This is a strange error, its saying 'no such file or directory' with regards to the output file. That's the FFMPEG error
You're only copying streams so there's no reason that it should be failing
I'm wondering if perhaps its a permissions error and its unable to write to the new file
Did it actually create that subdirectory Silicon.Valley.S05E06.Artificial.Emotional.Intelligence.1080p.AMZN.WEBRip.DDP5.1.x264-NTb[rarbg]-convert

Not sure because the cmd window pops up turn almost instantly closes and deletes all trace of the file and folder if there was one.

Yep! Changing that made the file auto process now. What was it?

I think it was failing due to an old 260 character limit in file paths that's built into Windows, I had a check in there that would attempt to avoid that but when doing the counter didn't include the filename in the full path
Removed the check and implemented the fix across the board instead which appears to have worked
Can you post the successful log files so I can review them and I'll merge these changes into the project

Yes here is the log. But it didn't import the created file. The convert directory is there with the MP4, but it never pulled from sonarr into plex.
2018-05-20 12:24:55 - uTorrentPostProcess - INFO - uTorrent post processing started.
2018-05-20 12:24:55 - readSettings - INFO - C:\Python27\python.exe
2018-05-20 12:24:55 - uTorrentPostProcess - INFO - Performing conversion
2018-05-20 12:24:55 - uTorrentPostProcess - INFO - Processing file C:\Users\Plexbox\Downloads\sonarr\Stephen.Colbert.2018.05.18.Benedict.Cumberbatch.1080p.WEB.x264-TBS[rarbg]\stephen.colbert.2018.05.18.benedict.cumberbatch.1080p.web.x264-tbs.mkv.
2018-05-20 12:24:59 - mkvtomp4 - INFO - Reading video stream.
2018-05-20 12:24:59 - mkvtomp4 - INFO - Video codec detected: h264.
2018-05-20 12:24:59 - mkvtomp4 - INFO - Pix Fmt: yuv420p.
2018-05-20 12:24:59 - mkvtomp4 - INFO - Profile: High.
2018-05-20 12:24:59 - mkvtomp4 - INFO - Reading audio streams.
2018-05-20 12:24:59 - mkvtomp4 - INFO - Audio detected for stream #1: aac [und].
2018-05-20 12:24:59 - mkvtomp4 - INFO - Creating audio stream 0 from source stream 1.
2018-05-20 12:24:59 - mkvtomp4 - INFO - Audio Track is number 1 setting disposition to default
2018-05-20 12:24:59 - mkvtomp4 - INFO - Reading subtitle streams.
2018-05-20 12:24:59 - mkvtomp4 - INFO - Starting conversion.
2018-05-20 12:25:23 - mkvtomp4 - INFO - \?\C:\Users\Plexbox\Downloads\sonarr\Stephen.Colbert.2018.05.18.Benedict.Cumberbatch.1080p.WEB.x264-TBS[rarbg]\Stephen.Colbert.2018.05.18.Benedict.Cumberbatch.1080p.WEB.x264-TBS[rarbg]-convert\stephen.colbert.2018.05.18.benedict.cumberbatch.1080p.web.x264-tbs.mp4 created.
2018-05-20 12:25:23 - uTorrentPostProcess - INFO - Passing \?\C:\Users\Plexbox\Downloads\sonarr\Stephen.Colbert.2018.05.18.Benedict.Cumberbatch.1080p.WEB.x264-TBS[rarbg]\Stephen.Colbert.2018.05.18.Benedict.Cumberbatch.1080p.WEB.x264-TBS[rarbg]-convert directory to Sonarr.
2018-05-20 12:25:23 - autoprocess.sonarr - INFO - Sonarr notifier started.
2018-05-20 12:25:23 - autoprocess.sonarr - INFO - Requesting Sonarr to scan directory '\?\C:\Users\Plexbox\Downloads\sonarr\Stephen.Colbert.2018.05.18.Benedict.Cumberbatch.1080p.WEB.x264-TBS[rarbg]\Stephen.Colbert.2018.05.18.Benedict.Cumberbatch.1080p.WEB.x264-TBS[rarbg]-convert'.
2018-05-20 12:25:24 - autoprocess.sonarr - INFO - Sonarr response: queued.
2018-05-20 12:25:24 - uTorrentPostProcess - ERROR - Unable to delete temporary directory
Traceback (most recent call last):
File "C:\Users\Plexbox\Desktop\Utilities\sickbeard_mp4_automator-master\uTorrentPostProcess.py", line 204, in
os.rmdir(delete_dir)
WindowsError: [Error 145] The directory is not empty: '\\?\C:\Users\Plexbox\Downloads\sonarr\Stephen.Colbert.2018.05.18.Benedict.Cumberbatch.1080p.WEB.x264-TBS[rarbg]\Stephen.Colbert.2018.05.18.Benedict.Cumberbatch.1080p.WEB.x264-TBS[rarbg]-convert'

Hm looks like Sonarr doesn't like those path flags
Try this version instead
import os
import re
import sys
import shutil
from autoprocess import autoProcessTV, autoProcessMovie, autoProcessTVSR, sonarr, radarr
from readSettings import ReadSettings
from mkvtomp4 import MkvtoMp4
import logging
from logging.config import fileConfig

fileConfig(os.path.join(os.path.dirname(sys.argv[0]), 'logging.ini'), defaults={'logfilename': os.path.join(os.path.dirname(sys.argv[0]), 'info.log').replace("\\", "/")})
log = logging.getLogger("uTorrentPostProcess")

log.info("uTorrent post processing started.")

# Args: %L %T %D %K %F %I Label, Tracker, Directory, single|multi, NameofFile(if single), InfoHash

def _authToken(session=None, host=None, username=None, password=None):
    auth = None
    if not session:
        session = requests.Session()
    response = session.get(host + "gui/token.html", auth=(username, password), verify=False, timeout=30)
    if response.status_code == 200:
        auth = re.search("<div.*?>(\S+)<\/div>", response.text).group(1)
    else:
        log.error("Authentication Failed - Status Code " + response.status_code + ".")

    return auth, session

def _sendRequest(session, host='http://localhost:8080/', username=None, password=None, params=None, files=None, fnct=None):
    try:
        response = session.post(host + "gui/", auth=(username, password), params=params, files=files, timeout=30)
    except (requests.exceptions.ConnectionError, requests.exceptions.HTTPError), e:
        log.exception("Problem sending command " + fnct + " - " + str(e) + ".")
        return False

    if response.status_code == 200:
        log.debug("Request sent successfully - %s." % fnct)
        return True

    log.error("Problem sending command " + fnct + ", return code = " + str(response.status_code) + ".")
    return False

if len(sys.argv) < 6:
    log.error("Not enough command line parameters present, are you launching this from uTorrent?")
    log.error("#Args: %L %T %D %K %F %I %N Label, Tracker, Directory, single|multi, NameofFile(if single), InfoHash, Name")
    log.error("Length was %s" % str(len(sys.argv)))
    log.error(str(sys.argv[1:]))
    sys.exit()

settings = ReadSettings(os.path.dirname(sys.argv[0]), "autoProcess.ini")
path = str(sys.argv[3])
label = sys.argv[1].lower()
categories = [settings.uTorrent['cp'], settings.uTorrent['sb'], settings.uTorrent['sonarr'], settings.uTorrent['radarr'], settings.uTorrent['sr'], settings.uTorrent['bypass']]
torrent_hash = sys.argv[6]
try:
    name = sys.argv[7]
except:
    name = sys.argv[6]

log.debug("Path: %s." % path)
log.debug("Label: %s." % label)
log.debug("Categories: %s." % categories)
log.debug("Torrent hash: %s." % torrent_hash)
log.debug("Torrent name: %s." % name)

if label not in categories:
    log.error("No valid label detected.")
    sys.exit()

if len(categories) != len(set(categories)):
    log.error("Duplicate category detected. Category names must be unique.")
    sys.exit()

# Import requests
try:
    import requests
except ImportError:
    log.exception("Python module REQUESTS is required. Install with 'pip install requests' then try again.")
    sys.exit()

try:
    web_ui = settings.uTorrentWebUI
    log.debug("WebUI is true.")
except:
    log.debug("WebUI is false.")
    web_ui = False

delete_dir = False

# Run a uTorrent action before conversion.
if web_ui:
    session = requests.Session()
    if session:
        auth, session = _authToken(session, settings.uTorrentHost, settings.uTorrentUsername, settings.uTorrentPassword)
        if auth and settings.uTorrentActionBefore:
            params = {'token': auth, 'action': settings.uTorrentActionBefore, 'hash': torrent_hash}
            _sendRequest(session, settings.uTorrentHost, settings.uTorrentUsername, settings.uTorrentPassword, params, None, "Before Function")
            log.debug("Sending action %s to uTorrent" % settings.uTorrentActionBefore)

if settings.uTorrent['convert']:
    # Check for custom uTorrent output_dir
    if settings.uTorrent['output_dir']:
        settings.output_dir = settings.uTorrent['output_dir']
        log.debug("Overriding output_dir to %s." % settings.uTorrent['output_dir'])

    # Perform conversion.
    log.info("Performing conversion")
    settings.delete = False
    if not settings.output_dir:
        suffix = "-convert"
        # name = name[:260-len(suffix)]
        settings.output_dir = os.path.join(path, ("%s%s" % (name, suffix)))
        if os.name == 'nt':
            settings.output_dir = '\\\\?\\' + settings.output_dir
        if not os.path.exists(settings.output_dir):
            os.mkdir(settings.output_dir)
        delete_dir = settings.output_dir

    converter = MkvtoMp4(settings)

    if str(sys.argv[4]) == 'single':
        inputfile = os.path.join(path, str(sys.argv[5]))
        if MkvtoMp4(settings).validSource(inputfile):
            log.info("Processing file %s." % inputfile)
            try:
                output = converter.process(inputfile, reportProgress=True)
            except:
                log.exception("Error converting file %s." % inputfile)
        else:
            log.debug("Ignoring file %s." % inputfile)
    else:
        log.debug("Processing multiple files.")
        ignore = []
        for r, d, f in os.walk(path):
            for files in f:
                inputfile = os.path.join(r, files)
                if MkvtoMp4(settings).validSource(inputfile) and inputfile not in ignore:
                    log.info("Processing file %s." % inputfile)
                    try:
                        output = converter.process(inputfile)
                        if output is not False:
                            ignore.append(output['output'])
                        else:
                            log.error("Converting file failed %s." % inputfile)
                    except:
                        log.exception("Error converting file %s." % inputfile)
                else:
                    log.debug("Ignoring file %s." % inputfile)

    path = converter.output_dir
else:
    suffix = "-copy"
    # name = name[:260-len(suffix)]
    newpath = os.path.join(path, ("%s%s" % (name, suffix)))
    if os.name == 'nt':
        newpath = '\\\\?\\' + newpath
    if not os.path.exists(newpath):
        os.mkdir(newpath)
        log.debug("Creating temporary directory %s" % newpath)
    if str(sys.argv[4]) == 'single':
        inputfile = os.path.join(path, str(sys.argv[5]))
        shutil.copy(inputfile, newpath)
        log.debug("Copying %s to %s" % (inputfile, newpath))
    else:
        for r, d, f in os.walk(path):
            for files in f:
                inputfile = os.path.join(r, files)
                shutil.copy(inputfile, newpath)
                log.debug("Copying %s to %s" % (inputfile, newpath))
    path = newpath
    delete_dir = newpath

if path.startswith('\\\\?\\'):
    path = path[4:]

if label == categories[0]:
    log.info("Passing %s directory to Couch Potato." % path)
    autoProcessMovie.process(path, settings)
elif label == categories[1]:
    log.info("Passing %s directory to Sickbeard." % path)
    autoProcessTV.processEpisode(path, settings)
elif label == categories[2]:
    log.info("Passing %s directory to Sonarr." % path)
    sonarr.processEpisode(path, settings)
elif label == categories[3]:
    log.info("Passing %s directory to Radarr." % path)
    radarr.processMovie(path, settings)
elif label == categories[4]:
    log.info("Passing %s directory to Sickrage." % path)
    autoProcessTVSR.processEpisode(path, settings)
elif label == categories[5]:
    log.info("Bypassing any further processing as per category.")

# Run a uTorrent action after conversion.
if web_ui:
    if session and auth and settings.uTorrentActionAfter:
        params = {'token': auth, 'action': settings.uTorrentActionAfter, 'hash': torrent_hash}
        _sendRequest(session, settings.uTorrentHost, settings.uTorrentUsername, settings.uTorrentPassword, params, None, "After Function")
        log.debug("Sending action %s to uTorrent" % settings.uTorrentActionAfter)

if delete_dir:
    if os.path.exists(delete_dir):
        try:
            os.rmdir(delete_dir)
            log.debug("Successfully removed tempoary directory %s." % delete_dir)
        except:
            log.exception("Unable to delete temporary directory")

sys.exit()

Damn. Still not importing after convert:
2018-05-20 12:48:46 - uTorrentPostProcess - INFO - uTorrent post processing started.
2018-05-20 12:48:46 - readSettings - INFO - C:\Python27\python.exe
2018-05-20 12:48:46 - uTorrentPostProcess - INFO - Performing conversion
2018-05-20 12:48:46 - uTorrentPostProcess - INFO - Processing file C:\Users\Plexbox\Downloads\sonarr\Stephen.Colbert.2018.05.18.Benedict.Cumberbatch.1080p.WEB.x264-TBS[rarbg]\stephen.colbert.2018.05.18.benedict.cumberbatch.1080p.web.x264-tbs.mkv.
2018-05-20 12:48:46 - mkvtomp4 - INFO - Reading video stream.
2018-05-20 12:48:46 - mkvtomp4 - INFO - Video codec detected: h264.
2018-05-20 12:48:46 - mkvtomp4 - INFO - Pix Fmt: yuv420p.
2018-05-20 12:48:46 - mkvtomp4 - INFO - Profile: High.
2018-05-20 12:48:46 - mkvtomp4 - INFO - Reading audio streams.
2018-05-20 12:48:46 - mkvtomp4 - INFO - Audio detected for stream #1: aac [und].
2018-05-20 12:48:46 - mkvtomp4 - INFO - Creating audio stream 0 from source stream 1.
2018-05-20 12:48:46 - mkvtomp4 - INFO - Audio Track is number 1 setting disposition to default
2018-05-20 12:48:46 - mkvtomp4 - INFO - Reading subtitle streams.
2018-05-20 12:48:46 - mkvtomp4 - INFO - Starting conversion.
2018-05-20 12:49:06 - mkvtomp4 - INFO - \?\C:\Users\Plexbox\Downloads\sonarr\Stephen.Colbert.2018.05.18.Benedict.Cumberbatch.1080p.WEB.x264-TBS[rarbg]\Stephen.Colbert.2018.05.18.Benedict.Cumberbatch.1080p.WEB.x264-TBS[rarbg]-convert\stephen.colbert.2018.05.18.benedict.cumberbatch.1080p.web.x264-tbs.mp4 created.
2018-05-20 12:49:06 - uTorrentPostProcess - INFO - Passing C:\Users\Plexbox\Downloads\sonarr\Stephen.Colbert.2018.05.18.Benedict.Cumberbatch.1080p.WEB.x264-TBS[rarbg]\Stephen.Colbert.2018.05.18.Benedict.Cumberbatch.1080p.WEB.x264-TBS[rarbg]-convert directory to Sonarr.
2018-05-20 12:49:06 - autoprocess.sonarr - INFO - Sonarr notifier started.
2018-05-20 12:49:06 - autoprocess.sonarr - INFO - Requesting Sonarr to scan directory 'C:\Users\Plexbox\Downloads\sonarr\Stephen.Colbert.2018.05.18.Benedict.Cumberbatch.1080p.WEB.x264-TBS[rarbg]\Stephen.Colbert.2018.05.18.Benedict.Cumberbatch.1080p.WEB.x264-TBS[rarbg]-convert'.
2018-05-20 12:49:07 - autoprocess.sonarr - INFO - Sonarr response: queued.
2018-05-20 12:49:07 - uTorrentPostProcess - ERROR - Unable to delete temporary directory
Traceback (most recent call last):
File "C:\Users\Plexbox\Desktop\Utilities\sickbeard_mp4_automator-master\uTorrentPostProcess.py", line 207, in
os.rmdir(delete_dir)
WindowsError: [Error 145] The directory is not empty: '\\?\C:\Users\Plexbox\Downloads\sonarr\Stephen.Colbert.2018.05.18.Benedict.Cumberbatch.1080p.WEB.x264-TBS[rarbg]\Stephen.Colbert.2018.05.18.Benedict.Cumberbatch.1080p.WEB.x264-TBS[rarbg]-convert'

Alright looking through Sonarr's issues it looks like Sonarr also bugs out with >260 characters on Windows and they are looking in to fixing this on V3 but this has not been implemented yet
I can do some subtle changes that should at least help keep that count under 260 in the mean time by prevented the convert directory from duplicating the long torrent name. Hopefully this won't interfere with Sonarrs ability to identify the file
Try this version
import os
import re
import sys
import shutil
from autoprocess import autoProcessTV, autoProcessMovie, autoProcessTVSR, sonarr, radarr
from readSettings import ReadSettings
from mkvtomp4 import MkvtoMp4
import logging
from logging.config import fileConfig

fileConfig(os.path.join(os.path.dirname(sys.argv[0]), 'logging.ini'), defaults={'logfilename': os.path.join(os.path.dirname(sys.argv[0]), 'info.log').replace("\\", "/")})
log = logging.getLogger("uTorrentPostProcess")

log.info("uTorrent post processing started.")

# Args: %L %T %D %K %F %I Label, Tracker, Directory, single|multi, NameofFile(if single), InfoHash

def _authToken(session=None, host=None, username=None, password=None):
    auth = None
    if not session:
        session = requests.Session()
    response = session.get(host + "gui/token.html", auth=(username, password), verify=False, timeout=30)
    if response.status_code == 200:
        auth = re.search("<div.*?>(\S+)<\/div>", response.text).group(1)
    else:
        log.error("Authentication Failed - Status Code " + response.status_code + ".")

    return auth, session

def _sendRequest(session, host='http://localhost:8080/', username=None, password=None, params=None, files=None, fnct=None):
    try:
        response = session.post(host + "gui/", auth=(username, password), params=params, files=files, timeout=30)
    except (requests.exceptions.ConnectionError, requests.exceptions.HTTPError), e:
        log.exception("Problem sending command " + fnct + " - " + str(e) + ".")
        return False

    if response.status_code == 200:
        log.debug("Request sent successfully - %s." % fnct)
        return True

    log.error("Problem sending command " + fnct + ", return code = " + str(response.status_code) + ".")
    return False

if len(sys.argv) < 6:
    log.error("Not enough command line parameters present, are you launching this from uTorrent?")
    log.error("#Args: %L %T %D %K %F %I %N Label, Tracker, Directory, single|multi, NameofFile(if single), InfoHash, Name")
    log.error("Length was %s" % str(len(sys.argv)))
    log.error(str(sys.argv[1:]))
    sys.exit()

settings = ReadSettings(os.path.dirname(sys.argv[0]), "autoProcess.ini")
path = str(sys.argv[3])
label = sys.argv[1].lower()
categories = [settings.uTorrent['cp'], settings.uTorrent['sb'], settings.uTorrent['sonarr'], settings.uTorrent['radarr'], settings.uTorrent['sr'], settings.uTorrent['bypass']]
torrent_hash = sys.argv[6]
try:
    name = sys.argv[7]
except:
    name = sys.argv[6]

log.debug("Path: %s." % path)
log.debug("Label: %s." % label)
log.debug("Categories: %s." % categories)
log.debug("Torrent hash: %s." % torrent_hash)
log.debug("Torrent name: %s." % name)

if label not in categories:
    log.error("No valid label detected.")
    sys.exit()

if len(categories) != len(set(categories)):
    log.error("Duplicate category detected. Category names must be unique.")
    sys.exit()

# Import requests
try:
    import requests
except ImportError:
    log.exception("Python module REQUESTS is required. Install with 'pip install requests' then try again.")
    sys.exit()

try:
    web_ui = settings.uTorrentWebUI
    log.debug("WebUI is true.")
except:
    log.debug("WebUI is false.")
    web_ui = False

delete_dir = False

# Run a uTorrent action before conversion.
if web_ui:
    session = requests.Session()
    if session:
        auth, session = _authToken(session, settings.uTorrentHost, settings.uTorrentUsername, settings.uTorrentPassword)
        if auth and settings.uTorrentActionBefore:
            params = {'token': auth, 'action': settings.uTorrentActionBefore, 'hash': torrent_hash}
            _sendRequest(session, settings.uTorrentHost, settings.uTorrentUsername, settings.uTorrentPassword, params, None, "Before Function")
            log.debug("Sending action %s to uTorrent" % settings.uTorrentActionBefore)

if settings.uTorrent['convert']:
    # Check for custom uTorrent output_dir
    if settings.uTorrent['output_dir']:
        settings.output_dir = settings.uTorrent['output_dir']
        log.debug("Overriding output_dir to %s." % settings.uTorrent['output_dir'])

    # Perform conversion.
    log.info("Performing conversion")
    settings.delete = False
    if not settings.output_dir:
        suffix = "convert"
        # name = name[:260-len(suffix)]
        settings.output_dir = os.path.join(path, suffix)
        if os.name == 'nt':
            settings.output_dir = '\\\\?\\' + settings.output_dir
        if not os.path.exists(settings.output_dir):
            os.mkdir(settings.output_dir)
        delete_dir = settings.output_dir

    converter = MkvtoMp4(settings)

    if str(sys.argv[4]) == 'single':
        inputfile = os.path.join(path, str(sys.argv[5]))
        if MkvtoMp4(settings).validSource(inputfile):
            log.info("Processing file %s." % inputfile)
            try:
                output = converter.process(inputfile, reportProgress=True)
            except:
                log.exception("Error converting file %s." % inputfile)
        else:
            log.debug("Ignoring file %s." % inputfile)
    else:
        log.debug("Processing multiple files.")
        ignore = []
        for r, d, f in os.walk(path):
            for files in f:
                inputfile = os.path.join(r, files)
                if MkvtoMp4(settings).validSource(inputfile) and inputfile not in ignore:
                    log.info("Processing file %s." % inputfile)
                    try:
                        output = converter.process(inputfile)
                        if output is not False:
                            ignore.append(output['output'])
                        else:
                            log.error("Converting file failed %s." % inputfile)
                    except:
                        log.exception("Error converting file %s." % inputfile)
                else:
                    log.debug("Ignoring file %s." % inputfile)

    path = converter.output_dir
else:
    suffix = "copy"
    # name = name[:260-len(suffix)]
    newpath = os.path.join(path, suffix)
    if os.name == 'nt':
        newpath = '\\\\?\\' + newpath
    if not os.path.exists(newpath):
        os.mkdir(newpath)
        log.debug("Creating temporary directory %s" % newpath)
    if str(sys.argv[4]) == 'single':
        inputfile = os.path.join(path, str(sys.argv[5]))
        shutil.copy(inputfile, newpath)
        log.debug("Copying %s to %s" % (inputfile, newpath))
    else:
        for r, d, f in os.walk(path):
            for files in f:
                inputfile = os.path.join(r, files)
                shutil.copy(inputfile, newpath)
                log.debug("Copying %s to %s" % (inputfile, newpath))
    path = newpath
    delete_dir = newpath

if path.startswith('\\\\?\\'):
    path = path[4:]

if label == categories[0]:
    log.info("Passing %s directory to Couch Potato." % path)
    autoProcessMovie.process(path, settings)
elif label == categories[1]:
    log.info("Passing %s directory to Sickbeard." % path)
    autoProcessTV.processEpisode(path, settings)
elif label == categories[2]:
    log.info("Passing %s directory to Sonarr." % path)
    sonarr.processEpisode(path, settings)
elif label == categories[3]:
    log.info("Passing %s directory to Radarr." % path)
    radarr.processMovie(path, settings)
elif label == categories[4]:
    log.info("Passing %s directory to Sickrage." % path)
    autoProcessTVSR.processEpisode(path, settings)
elif label == categories[5]:
    log.info("Bypassing any further processing as per category.")

# Run a uTorrent action after conversion.
if web_ui:
    if session and auth and settings.uTorrentActionAfter:
        params = {'token': auth, 'action': settings.uTorrentActionAfter, 'hash': torrent_hash}
        _sendRequest(session, settings.uTorrentHost, settings.uTorrentUsername, settings.uTorrentPassword, params, None, "After Function")
        log.debug("Sending action %s to uTorrent" % settings.uTorrentActionAfter)

if delete_dir:
    if os.path.exists(delete_dir):
        try:
            os.rmdir(delete_dir)
            log.debug("Successfully removed tempoary directory %s." % delete_dir)
        except:
            log.exception("Unable to delete temporary directory")

sys.exit()

Reference:
https://github.com/Sonarr/Sonarr/issues/636

OK that would make sense. Still happening with updating py file though.
2018-05-20 13:09:30 - uTorrentPostProcess - INFO - uTorrent post processing started.
2018-05-20 13:09:30 - readSettings - INFO - C:\Python27\python.exe
2018-05-20 13:09:30 - uTorrentPostProcess - INFO - Performing conversion
2018-05-20 13:09:30 - uTorrentPostProcess - INFO - Processing file C:\Users\Plexbox\Downloads\sonarr\Stephen.Colbert.2018.05.18.Benedict.Cumberbatch.1080p.WEB.x264-TBS[rarbg]\stephen.colbert.2018.05.18.benedict.cumberbatch.1080p.web.x264-tbs.mkv.
2018-05-20 13:09:30 - mkvtomp4 - INFO - Reading video stream.
2018-05-20 13:09:30 - mkvtomp4 - INFO - Video codec detected: h264.
2018-05-20 13:09:30 - mkvtomp4 - INFO - Pix Fmt: yuv420p.
2018-05-20 13:09:30 - mkvtomp4 - INFO - Profile: High.
2018-05-20 13:09:30 - mkvtomp4 - INFO - Reading audio streams.
2018-05-20 13:09:30 - mkvtomp4 - INFO - Audio detected for stream #1: aac [und].
2018-05-20 13:09:30 - mkvtomp4 - INFO - Creating audio stream 0 from source stream 1.
2018-05-20 13:09:30 - mkvtomp4 - INFO - Audio Track is number 1 setting disposition to default
2018-05-20 13:09:30 - mkvtomp4 - INFO - Reading subtitle streams.
2018-05-20 13:09:30 - mkvtomp4 - INFO - Starting conversion.
2018-05-20 13:09:51 - mkvtomp4 - INFO - \?\C:\Users\Plexbox\Downloads\sonarr\Stephen.Colbert.2018.05.18.Benedict.Cumberbatch.1080p.WEB.x264-TBS[rarbg]\convert\stephen.colbert.2018.05.18.benedict.cumberbatch.1080p.web.x264-tbs.mp4 created.
2018-05-20 13:09:51 - uTorrentPostProcess - INFO - Processing file C:\Users\Plexbox\Downloads\sonarr\Stephen.Colbert.2018.05.18.Benedict.Cumberbatch.1080p.WEB.x264-TBS[rarbg]\convert\stephen.colbert.2018.05.18.benedict.cumberbatch.1080p.web.x264-tbs.mp4.
2018-05-20 13:09:51 - mkvtomp4 - INFO - Reading video stream.
2018-05-20 13:09:51 - mkvtomp4 - INFO - Video codec detected: h264.
2018-05-20 13:09:51 - mkvtomp4 - INFO - Pix Fmt: yuv420p.
2018-05-20 13:09:51 - mkvtomp4 - INFO - Profile: High.
2018-05-20 13:09:51 - mkvtomp4 - INFO - Reading audio streams.
2018-05-20 13:09:51 - mkvtomp4 - INFO - Audio detected for stream #1: aac [eng].
2018-05-20 13:09:51 - mkvtomp4 - INFO - Creating audio stream 0 from source stream 1.
2018-05-20 13:09:51 - mkvtomp4 - INFO - Audio Track is number 1 setting disposition to default
2018-05-20 13:09:51 - mkvtomp4 - INFO - Reading subtitle streams.
2018-05-20 13:09:51 - mkvtomp4 - INFO - Starting conversion.
2018-05-20 13:09:51 - mkvtomp4 - INFO - \?\C:\Users\Plexbox\Downloads\sonarr\Stephen.Colbert.2018.05.18.Benedict.Cumberbatch.1080p.WEB.x264-TBS[rarbg]\convert\stephen.colbert.2018.05.18.benedict.cumberbatch.1080p.web.x264-tbs.mp4 created.
2018-05-20 13:09:51 - uTorrentPostProcess - INFO - Passing C:\Users\Plexbox\Downloads\sonarr\Stephen.Colbert.2018.05.18.Benedict.Cumberbatch.1080p.WEB.x264-TBS[rarbg]\convert directory to Sonarr.
2018-05-20 13:09:51 - autoprocess.sonarr - INFO - Sonarr notifier started.
2018-05-20 13:09:51 - autoprocess.sonarr - INFO - Requesting Sonarr to scan directory 'C:\Users\Plexbox\Downloads\sonarr\Stephen.Colbert.2018.05.18.Benedict.Cumberbatch.1080p.WEB.x264-TBS[rarbg]\convert'.
2018-05-20 13:09:52 - autoprocess.sonarr - INFO - Sonarr response: queued.
2018-05-20 13:09:52 - uTorrentPostProcess - ERROR - Unable to delete temporary directory
Traceback (most recent call last):
File "C:\Users\Plexbox\Desktop\Utilities\sickbeard_mp4_automator-master\uTorrentPostProcess.py", line 413, in
os.rmdir(delete_dir)
WindowsError: [Error 145] The directory is not empty: '\\?\C:\Users\Plexbox\Downloads\sonarr\Stephen.Colbert.2018.05.18.Benedict.Cumberbatch.1080p.WEB.x264-TBS[rarbg]\convert'

And the path to the file: C:\Users\Plexbox\Downloads\sonarr\Stephen.Colbert.2018.05.18.Benedict.Cumberbatch.1080p.WEB.x264-TBS[rarbg]\convert\stephen.colbert.2018.05.18.benedict.cumberbatch.1080p.web.x264-tbs.mp4
Only looks to be 184 characters

Yeah it should be working now
Is Sonarr showing anything in its logs to indicate why its not moving the file?

Not sure the location of sonarr logs that would be relevant. Nothing I can find showing anything related to the import. Nothing even related to the successful import of the other file so I might not be looking in the right spot.

OK here's something I just noticed. Right at the start of the conversion, I check the mp4 file while its being created and the file size is over 1gb (original file is 1.3gb). After conversion, the original is deleted. I check the newly created mp4 file and its only 35kb.

I'm just gonna remove the weird directory syntaxing for windows and go for a method that results in shorter filenames
Try this
import os
import re
import sys
import shutil
from autoprocess import autoProcessTV, autoProcessMovie, autoProcessTVSR, sonarr, radarr
from readSettings import ReadSettings
from mkvtomp4 import MkvtoMp4
import logging
from logging.config import fileConfig

fileConfig(os.path.join(os.path.dirname(sys.argv[0]), 'logging.ini'), defaults={'logfilename': os.path.join(os.path.dirname(sys.argv[0]), 'info.log').replace("\\", "/")})
log = logging.getLogger("uTorrentPostProcess")

log.info("uTorrent post processing started.")

# Args: %L %T %D %K %F %I Label, Tracker, Directory, single|multi, NameofFile(if single), InfoHash

def _authToken(session=None, host=None, username=None, password=None):
    auth = None
    if not session:
        session = requests.Session()
    response = session.get(host + "gui/token.html", auth=(username, password), verify=False, timeout=30)
    if response.status_code == 200:
        auth = re.search("<div.*?>(\S+)<\/div>", response.text).group(1)
    else:
        log.error("Authentication Failed - Status Code " + response.status_code + ".")

    return auth, session

def _sendRequest(session, host='http://localhost:8080/', username=None, password=None, params=None, files=None, fnct=None):
    try:
        response = session.post(host + "gui/", auth=(username, password), params=params, files=files, timeout=30)
    except (requests.exceptions.ConnectionError, requests.exceptions.HTTPError), e:
        log.exception("Problem sending command " + fnct + " - " + str(e) + ".")
        return False

    if response.status_code == 200:
        log.debug("Request sent successfully - %s." % fnct)
        return True

    log.error("Problem sending command " + fnct + ", return code = " + str(response.status_code) + ".")
    return False

if len(sys.argv) < 6:
    log.error("Not enough command line parameters present, are you launching this from uTorrent?")
    log.error("#Args: %L %T %D %K %F %I %N Label, Tracker, Directory, single|multi, NameofFile(if single), InfoHash, Name")
    log.error("Length was %s" % str(len(sys.argv)))
    log.error(str(sys.argv[1:]))
    sys.exit()

settings = ReadSettings(os.path.dirname(sys.argv[0]), "autoProcess.ini")
path = str(sys.argv[3])
label = sys.argv[1].lower()
categories = [settings.uTorrent['cp'], settings.uTorrent['sb'], settings.uTorrent['sonarr'], settings.uTorrent['radarr'], settings.uTorrent['sr'], settings.uTorrent['bypass']]
torrent_hash = sys.argv[6]
try:
    name = sys.argv[7]
except:
    name = sys.argv[6]

log.debug("Path: %s." % path)
log.debug("Label: %s." % label)
log.debug("Categories: %s." % categories)
log.debug("Torrent hash: %s." % torrent_hash)
log.debug("Torrent name: %s." % name)

if label not in categories:
    log.error("No valid label detected.")
    sys.exit()

if len(categories) != len(set(categories)):
    log.error("Duplicate category detected. Category names must be unique.")
    sys.exit()

# Import requests
try:
    import requests
except ImportError:
    log.exception("Python module REQUESTS is required. Install with 'pip install requests' then try again.")
    sys.exit()

try:
    web_ui = settings.uTorrentWebUI
    log.debug("WebUI is true.")
except:
    log.debug("WebUI is false.")
    web_ui = False

delete_dir = False

# Run a uTorrent action before conversion.
if web_ui:
    session = requests.Session()
    if session:
        auth, session = _authToken(session, settings.uTorrentHost, settings.uTorrentUsername, settings.uTorrentPassword)
        if auth and settings.uTorrentActionBefore:
            params = {'token': auth, 'action': settings.uTorrentActionBefore, 'hash': torrent_hash}
            _sendRequest(session, settings.uTorrentHost, settings.uTorrentUsername, settings.uTorrentPassword, params, None, "Before Function")
            log.debug("Sending action %s to uTorrent" % settings.uTorrentActionBefore)

if settings.uTorrent['convert']:
    # Check for custom uTorrent output_dir
    if settings.uTorrent['output_dir']:
        settings.output_dir = settings.uTorrent['output_dir']
        log.debug("Overriding output_dir to %s." % settings.uTorrent['output_dir'])

    # Perform conversion.
    log.info("Performing conversion")
    settings.delete = False
    if not settings.output_dir:
        suffix = "convert"
        if str(sys.argv[4]) == 'single':
            log.info("Single File Torrent")
            settings.output_dir = os.path.join(path, ("%s-%s" % (name, suffix)))
        else:
            log.info("Multi File Torrent")
            settings.output_dir = os.path.abspath(os.path.join(path, '..', ("%s-%s" % (name, suffix))))
        if not os.path.exists(settings.output_dir):
            os.mkdir(settings.output_dir)
        delete_dir = settings.output_dir

    converter = MkvtoMp4(settings)

    if str(sys.argv[4]) == 'single':
        inputfile = os.path.join(path, str(sys.argv[5]))
        if MkvtoMp4(settings).validSource(inputfile):
            log.info("Processing file %s." % inputfile)
            try:
                output = converter.process(inputfile, reportProgress=True)
            except:
                log.exception("Error converting file %s." % inputfile)
        else:
            log.debug("Ignoring file %s." % inputfile)
    else:
        log.debug("Processing multiple files.")
        ignore = []
        for r, d, f in os.walk(path):
            for files in f:
                inputfile = os.path.join(r, files)
                if MkvtoMp4(settings).validSource(inputfile) and inputfile not in ignore:
                    log.info("Processing file %s." % inputfile)
                    try:
                        output = converter.process(inputfile)
                        if output is not False:
                            ignore.append(output['output'])
                        else:
                            log.error("Converting file failed %s." % inputfile)
                    except:
                        log.exception("Error converting file %s." % inputfile)
                else:
                    log.debug("Ignoring file %s." % inputfile)

    path = converter.output_dir
else:
    suffix = "copy"
    # name = name[:260-len(suffix)]
    if str(sys.argv[4]) == 'single':
        log.info("Single File Torrent")
        newpath = os.path.join(path, ("%s-%s" % (name, suffix)))
    else:
        log.info("Multi File Torrent")
        newpath = os.path.abspath(os.path.join(path, '..', ("%s-%s" % (name, suffix))))
    if not os.path.exists(newpath):
        os.mkdir(newpath)
        log.debug("Creating temporary directory %s" % newpath)
    if str(sys.argv[4]) == 'single':
        inputfile = os.path.join(path, str(sys.argv[5]))
        shutil.copy(inputfile, newpath)
        log.debug("Copying %s to %s" % (inputfile, newpath))
    else:
        for r, d, f in os.walk(path):
            for files in f:
                inputfile = os.path.join(r, files)
                shutil.copy(inputfile, newpath)
                log.debug("Copying %s to %s" % (inputfile, newpath))
    path = newpath
    delete_dir = newpath

if label == categories[0]:
    log.info("Passing %s directory to Couch Potato." % path)
    autoProcessMovie.process(path, settings)
elif label == categories[1]:
    log.info("Passing %s directory to Sickbeard." % path)
    autoProcessTV.processEpisode(path, settings)
elif label == categories[2]:
    log.info("Passing %s directory to Sonarr." % path)
    sonarr.processEpisode(path, settings)
elif label == categories[3]:
    log.info("Passing %s directory to Radarr." % path)
    radarr.processMovie(path, settings)
elif label == categories[4]:
    log.info("Passing %s directory to Sickrage." % path)
    autoProcessTVSR.processEpisode(path, settings)
elif label == categories[5]:
    log.info("Bypassing any further processing as per category.")

# Run a uTorrent action after conversion.
if web_ui:
    if session and auth and settings.uTorrentActionAfter:
        params = {'token': auth, 'action': settings.uTorrentActionAfter, 'hash': torrent_hash}
        _sendRequest(session, settings.uTorrentHost, settings.uTorrentUsername, settings.uTorrentPassword, params, None, "After Function")
        log.debug("Sending action %s to uTorrent" % settings.uTorrentActionAfter)

if delete_dir:
    if os.path.exists(delete_dir):
        try:
            os.rmdir(delete_dir)
            log.debug("Successfully removed tempoary directory %s." % delete_dir)
        except:
            log.exception("Unable to delete temporary directory")

sys.exit()

import os
import re
import sys
import shutil
from autoprocess import autoProcessTV, autoProcessMovie, autoProcessTVSR, sonarr, radarr
from readSettings import ReadSettings
from mkvtomp4 import MkvtoMp4
import logging
from logging.config import fileConfig
fileConfig(os.path.join(os.path.dirname(sys.argv[0]), 'logging.ini'), defaults={'logfilename': os.path.join(os.path.dirname(sys.argv[0]), 'info.log').replace("\", "/")})
log = logging.getLogger("uTorrentPostProcess")
log.info("uTorrent post processing started.")
Args: %L %T %D %K %F %I Label, Tracker, Directory, single|multi, NameofFile(if single), InfoHash
def _authToken(session=None, host=None, username=None, password=None):
auth = None
if not session:
session = requests.Session()
response = session.get(host + "gui/token.html", auth=(username, password), verify=False, timeout=30)
if response.status_code == 200:
auth = re.search("<div.*?>(\S+)</div>", response.text).group(1)
else:
log.error("Authentication Failed - Status Code " + response.status_code + ".")
return auth, session

def _sendRequest(session, host='http://localhost:8080/', username=None, password=None, params=None, files=None, fnct=None):
try:
response = session.post(host + "gui/", auth=(username, password), params=params, files=files, timeout=30)
except (requests.exceptions.ConnectionError, requests.exceptions.HTTPError), e:
log.exception("Problem sending command " + fnct + " - " + str(e) + ".")
return False
if response.status_code == 200:
    log.debug("Request sent successfully - %s." % fnct)
    return True

log.error("Problem sending command " + fnct + ", return code = " + str(response.status_code) + ".")
return False

if len(sys.argv) < 6:
log.error("Not enough command line parameters present, are you launching this from uTorrent?")
log.error("#Args: %L %T %D %K %F %I %N Label, Tracker, Directory, single|multi, NameofFile(if single), InfoHash, Name")
log.error("Length was %s" % str(len(sys.argv)))
log.error(str(sys.argv[1:]))
sys.exit()
settings = ReadSettings(os.path.dirname(sys.argv[0]), "autoProcess.ini")
path = str(sys.argv[3])
label = sys.argv[1].lower()
categories = [settings.uTorrent['cp'], settings.uTorrent['sb'], settings.uTorrent['sonarr'], settings.uTorrent['radarr'], settings.uTorrent['sr'], settings.uTorrent['bypass']]
torrent_hash = sys.argv[6]
try:
name = sys.argv[7]
except:
name = sys.argv[6]
log.debug("Path: %s." % path)
log.debug("Label: %s." % label)
log.debug("Categories: %s." % categories)
log.debug("Torrent hash: %s." % torrent_hash)
log.debug("Torrent name: %s." % name)
if label not in categories:
log.error("No valid label detected.")
sys.exit()
if len(categories) != len(set(categories)):
log.error("Duplicate category detected. Category names must be unique.")
sys.exit()
Import requests
try:
import requests
except ImportError:
log.exception("Python module REQUESTS is required. Install with 'pip install requests' then try again.")
sys.exit()
try:
web_ui = settings.uTorrentWebUI
log.debug("WebUI is true.")
except:
log.debug("WebUI is false.")
web_ui = False
delete_dir = False
Run a uTorrent action before conversion.
if web_ui:
session = requests.Session()
if session:
auth, session = _authToken(session, settings.uTorrentHost, settings.uTorrentUsername, settings.uTorrentPassword)
if auth and settings.uTorrentActionBefore:
params = {'token': auth, 'action': settings.uTorrentActionBefore, 'hash': torrent_hash}
_sendRequest(session, settings.uTorrentHost, settings.uTorrentUsername, settings.uTorrentPassword, params, None, "Before Function")
log.debug("Sending action %s to uTorrent" % settings.uTorrentActionBefore)
if settings.uTorrent['convert']:
# Check for custom uTorrent output_dir
if settings.uTorrent['output_dir']:
settings.output_dir = settings.uTorrent['output_dir']
log.debug("Overriding output_dir to %s." % settings.uTorrent['output_dir'])
# Perform conversion.
log.info("Performing conversion")
settings.delete = False
if not settings.output_dir:
    suffix = "convert"
    if str(sys.argv[4]) == 'single':
        log.info("Single File Torrent")
        settings.output_dir = os.path.join(path, ("%s-%s" % (name, suffix)))
    else:
        log.info("Multi File Torrent")
        settings.output_dir = os.path.abspath(os.path.join(path, '..', ("%s-%s" % (name, suffix))))
    if not os.path.exists(settings.output_dir):
        os.mkdir(settings.output_dir)
    delete_dir = settings.output_dir

converter = MkvtoMp4(settings)

if str(sys.argv[4]) == 'single':
    inputfile = os.path.join(path, str(sys.argv[5]))
    if MkvtoMp4(settings).validSource(inputfile):
        log.info("Processing file %s." % inputfile)
        try:
            output = converter.process(inputfile, reportProgress=True)
        except:
            log.exception("Error converting file %s." % inputfile)
    else:
        log.debug("Ignoring file %s." % inputfile)
else:
    log.debug("Processing multiple files.")
    ignore = []
    for r, d, f in os.walk(path):
        for files in f:
            inputfile = os.path.join(r, files)
            if MkvtoMp4(settings).validSource(inputfile) and inputfile not in ignore:
                log.info("Processing file %s." % inputfile)
                try:
                    output = converter.process(inputfile)
                    if output is not False:
                        ignore.append(output['output'])
                    else:
                        log.error("Converting file failed %s." % inputfile)
                except:
                    log.exception("Error converting file %s." % inputfile)
            else:
                log.debug("Ignoring file %s." % inputfile)

path = converter.output_dir

else:
suffix = "copy"
# name = name[:260-len(suffix)]
if str(sys.argv[4]) == 'single':
log.info("Single File Torrent")
newpath = os.path.join(path, ("%s-%s" % (name, suffix)))
else:
log.info("Multi File Torrent")
newpath = os.path.abspath(os.path.join(path, '..', ("%s-%s" % (name, suffix))))
if not os.path.exists(newpath):
os.mkdir(newpath)
log.debug("Creating temporary directory %s" % newpath)
if str(sys.argv[4]) == 'single':
inputfile = os.path.join(path, str(sys.argv[5]))
shutil.copy(inputfile, newpath)
log.debug("Copying %s to %s" % (inputfile, newpath))
else:
for r, d, f in os.walk(path):
for files in f:
inputfile = os.path.join(r, files)
shutil.copy(inputfile, newpath)
log.debug("Copying %s to %s" % (inputfile, newpath))
path = newpath
delete_dir = newpath
if label == categories[0]:
log.info("Passing %s directory to Couch Potato." % path)
autoProcessMovie.process(path, settings)
elif label == categories[1]:
log.info("Passing %s directory to Sickbeard." % path)
autoProcessTV.processEpisode(path, settings)
elif label == categories[2]:
log.info("Passing %s directory to Sonarr." % path)
sonarr.processEpisode(path, settings)
elif label == categories[3]:
log.info("Passing %s directory to Radarr." % path)
radarr.processMovie(path, settings)
elif label == categories[4]:
log.info("Passing %s directory to Sickrage." % path)
autoProcessTVSR.processEpisode(path, settings)
elif label == categories[5]:
log.info("Bypassing any further processing as per category.")
Run a uTorrent action after conversion.
if web_ui:
if session and auth and settings.uTorrentActionAfter:
params = {'token': auth, 'action': settings.uTorrentActionAfter, 'hash': torrent_hash}
_sendRequest(session, settings.uTorrentHost, settings.uTorrentUsername, settings.uTorrentPassword, params, None, "After Function")
log.debug("Sending action %s to uTorrent" % settings.uTorrentActionAfter)
if delete_dir:
if os.path.exists(delete_dir):
try:
os.rmdir(delete_dir)
log.debug("Successfully removed tempoary directory %s." % delete_dir)
except:
log.exception("Unable to delete temporary directory")
sys.exit()

Sweet, I'll merge these commits

authors: mdhiggins mrzoops


text:
/ru/docs/Web/HTML/Общие_атрибуты: the children links look like nonexistent, but they exist

Request type

[ ] Please close this issue, I accidentally submitted it without adding any details
[ ] New documentation
[x] Correction or update

Details

Please move the article
wiki.developer.mozilla.org/ru/docs/Web/HTML/Общие_атрибуты
to the
wiki.developer.mozilla.org/ru/docs/Web/HTML/Global_attributes
cause of this the children links look like nonexistent, but they exist

Done! ;-)

Thank you

source: gharchive/issue

authors: almaceleste chrisdavidmills

repo: mdn/sprints

license_type: permissive

license_source: github-api


text:
https://wiki.developer.mozilla.org/fr/docs/Mozilla/Mobile/Balise_meta_viewport$history

Request type

[] Please close this issue, I accidentally submitted it without adding any details
[x ] New documentation
[ ] Correction or update

Details

le lien proposé ne renvoie nul part
the link is null

url : https://developer.mozilla.org/fr/docs/Mozilla/Mobile/Balise_meta_viewport

Thanks for your issue! Unfortunately the MDN team doesn't update translations. It is a community effort. Feel free to update the wiki page.


text:
US07 - Refatorar a service.js

Eu, como desenvolvedor, desejo refatorar o service.js para que as factories sejam separadas das services.

Closed in #15

license: mit

license_source: bigquery


text:
Change architecture to improve mockability of modules for unit testing

Is there are any interest in refactoring the code to improve the mockability of modules.  The last time I unit tested a meanjs application, I had to create a testing database and set up a testing server to send and receive actual http requests.  In my experience, this is more of an end-to-end test rather than a unit test, and In general, a testing strategy like this is a pain in the butt for development and discourages frequent testing of the code.  Disclaimer - I haven't run unit tests with meanjs in awhile, so if this is no longer the case, you can disregard this issue.
I propose a refactoring of the modules in meanjs to improve unit testability.  I've created a commit where I've refactored the Articles controller, model, policy, and routes modules so that dependencies are properly injected and can subsequently be mocked in unit tests.  In my commit, I bootstrap these objects with their appropriate dependencies in the articles.server.config module.
For example, when unit testing articles.server.controller this refactor enables you to inject mocks of the mongoose and errorHandler dependencies so that the controller functionality can be properly isolated and tested.
The commit I linked above is purely for theoretical purposes and hasn't been tested or run.  I'm 100% sure that if you try to run the code it will fail.  Also, github's diff tool really stinks so it's hard to see exactly what's going on.
If this is something of interest to the community, I'd be happy to discuss it more and also take the task of implementation.  I wanted to propose the idea first though before getting too involved as it is a pretty significant refactor.

@rdelhommer totally understood and you're right. Your refactoring eases testing because you essentially created a poor-man's DI by providing a mongoose object which you can mock during your testing but now your controller is tightly coupled to your database. What happens if you want to switch to Sequelize or anything else?
Don't get me wrong. The current code is also pretty much coupled to the mongoose object by using it and the model directly to query items. A better approach would've been to implement a repository design pattern that will access the database.
In the meanwhile what I can suggest is that you may use a library like proxyquire for your unit test so that you can mock all the requires that are happening on the controller with mocked objects.

@lirantal That's a fair critique.
I think if the intention is to create a stack that is independent of the database layer, we need some form of DI and an adapter interface anyways (I could be wrong here).  If the intention is to stick with mongoose, then proxyquire is a simpler solution (which would require some legwork to be implemented), but keeps the stack hardened against any future modularity.
Either way, it seems to me that some legwork is required to make the stack unit-testable.  Why not go with a solution that keeps it flexible?

I don't think the MEAN.js project will ever reach out to be a technology-agnostic framework, simply because it's not what it was/is intended for. The idea is that the project is indeed opinionated (for example: coupled to mongoose db), but in the same time it is (or should be) flexible enough to give you room to make changes and introduce another db driver without too much fuss and abstractions that will "get in the way".
I'm not against fixing things up to ease unit-tests, by all means I full support it but these days @simison and @mleanos are largely supporting the MEAN.js roadmap while I'm focused on the evolution of it on https://github.com/lirantal/Riess.js where I'll be more than happy to get some help with and continue the discussion on architecture and design.

Sure that sounds good.  I'll check out Riess and let you know

authors: lirantal rdelhommer

repo: meanjs/mean

license: MIT


text:
fix(core): Adding server info to log initialization

Adding host information to the log initialization and aligning the
texts.

Are there any issues with swapping \t\t\t\t with spaces? Are there systems that regular spaces don't work with?

\t didnt work properly in my command line. I tried it in windows command prompt as well as in centos bash shell.

@farajfarook Thanks for the report back. Any chance you can include a quick screenshot with what the new format looks like? Thanks!

This is how it looks now. Please let me know if you want anything to change. In my free time i will fix it.

LGTM

LGTM.

source: gharchive/pull-request

authors: codydaig farajfarook ilanbiala


text:
Seperation of concerns

Hi, the project seems really interesting. I have a similar project i am working on and we could both benefit from building small reusable components.
Currently i am working on adding extended marks to neovim, i would like to build a plugin in lua using these marks to implement rich text and images etc.
If you are interested in such features we can collaborate :+1:

@timeyyy Hi! I am not sure what exactly these reusable components would be, except for that I could probably somehow use extended marks, but the idea is good. However I won't be available till the end of December. I am free to collaborate and discuss from time to time though :)

The number 1 reusable thing would be the rtf, allowing muliple fonts, sizes, colours etc. Outside of neovim maybe things like file syncing etc.

authors: meatich timeyyy

repo: meatich/Viy


text:
ik-rtf版本如何配置同义词

filter:
      my_synonym:
        type: synonym
        synonyms_path: analysis/synonym.txt
    analyzer:
      ik:
        alias:
        - ik_analyzer
        type: org.elasticsearch.index.analysis.IkAnalyzerProvider
      ik_max_word:
        type: ik
        use_smart: false
      ik_smart:
        type: ik
        use_smart: true
      mmseg:
        alias:
        - mmseg_analyzer
        type: org.elasticsearch.index.analysis.MMsegAnalyzerProvider
      ik_syno:
        type: custom
        tokenizer: ik
        filter: [my_synonym]
      ik_max_word_syno:
        type: custom
        tokenizer: ik
        filter: [my_synonym]
        use_smart: false

使用上面的配置在rtf启动时报错

参见 #93

repo: medcl/elasticsearch-analysis-ik


text:
Non-C locale detected error

Hello everyone.
I'm using this package in a flutter-pi project running on a raspberry-pi 4 bullseye to play and audio (mp3 or wav file).
But when I want to play the audio, my app crashes with the following error:
Non-C locale detected. This is not supported.
Call 'setlocale(LC_NUMERIC, "C");' in your code.
Segmentation fault

what is the problem and solution?
Thanks in advance!

searching thorough google and chatgpt that was gpt answer, since i cant test it, i posted it here since it may help you dont know if works or not
The error message indicates that the flutter-pi project is running into a locale issue. This happens because the audio playback library you're using requires the numeric locale to be set to "C". The segmentation fault (segfault) occurs due to this locale mismatch.
Here’s a step-by-step guide to resolve this issue:
1. Modify the Locale Setting in Your Code
You need to set the numeric locale to "C" at the start of your application. In a Flutter project, you can do this by calling native C code to set the locale.
Steps:

Create a C/C++ file (e.g., locale_fix.c):
#include <locale.h>

void set_numeric_locale_to_C() {
    setlocale(LC_NUMERIC, "C");
}

Compile the C file to a shared library. You can use GCC for this:
gcc -shared -o liblocale_fix.so -fPIC locale_fix.c

Load and Call the Shared Library in Dart:

Add the ffi package to your pubspec.yaml:dependencies:
  ffi: ^1.1.2

Create a Dart file to load and call the C function (e.g., locale_fix.dart):import 'dart:ffi';
import 'dart:io';

typedef SetNumericLocaleC = Void Function();
typedef SetNumericLocaleDart = void Function();

void setNumericLocaleToC() {
  final DynamicLibrary dylib = Platform.isLinux
      ? DynamicLibrary.open('liblocale_fix.so')
      : DynamicLibrary.process();

  final SetNumericLocaleDart setLocale = dylib
      .lookup<NativeFunction<SetNumericLocaleC>>('set_numeric_locale_to_C')
      .asFunction();

  setLocale();
}

Call the Locale Fix Function at the start of your application (e.g., in main.dart):
import 'locale_fix.dart';

void main() {
  setNumericLocaleToC();
  // Your existing Flutter setup code
  runApp(MyApp());
}

2. Rebuild and Run Your Flutter Application
After adding the locale fix, rebuild your application and run it again on the Raspberry Pi.
Additional Considerations

Check Dependencies: Ensure all your project dependencies are compatible with your environment and the Raspberry Pi architecture.
Debugging: If the problem persists, use tools like gdb to get a more detailed stack trace of the segmentation fault, which can help identify the root cause more precisely.

By setting the numeric locale to "C", you align with the library's expectations, which should prevent the segmentation fault and allow your audio to play correctly.

Yup... we have same call on GNU/Linux. Regardless, flutter-pi or any other embedder support is not there.

@abdelaziz-mahdy I have tried to follow the code provided, but I was unable to get it to work. The error I get: liblocale_fix.so: cannot open shared object file: No such file or directory.
@alexmercerind is Flutter-pi support something that might be added in the future? I have tried the flutterpi_gstreamer_video_player package and it is given me trouble when playing video, GStreamer is not working correct on a Pi 4:
** (flutter-pi:3491): WARNING **: 13:48:00.613: v4l2h264dec0: 1 frames 677-677 left undrained after CMD_STOP, eos sent too early: bug in decoder -- please file a bug

(flutter-pi:3491): GStreamer-CRITICAL **: 13:48:00.660: gst_sample_set_caps: assertion 'gst_sample_is_writable (sample)' failed

I was hoping to use media-kit to try and run video's that way.

@Krakert
https://github.com/media-kit/media-kit/blob/88c49c6c0f6187a131a4053f0f1a3a42f2922a8a/libs/linux/media_kit_libs_linux/linux/media_kit_libs_linux_plugin.cc#L16
It's required on GNU/Linux.

Is Flutter-pi support something that might be added in the future?

The audio setup of media-kit works out of the box on every platform... that's due to project's architecture. The video rendering uses platform / embedder specific APIs for texture etc.
I don't really own a Raspberry Pi, neither I have any interest... contributions welcomed.

So it should work, but where do i need to add the files and build the liblocale_fix.so because it is unable to find it.

You can try:
sudo update-locale LC_NUMERIC=C

authors: AndroidDesigner Krakert abdelaziz-mahdy alexmercerind marinct

repo: media-kit/media-kit


text:
No Travis set up

Travis is not set up for this package.
It should at a bare minimum run the test suite.
It needs to be enabled on this project, then it works for PRs too.
For bonus points, dependecy-guard should run on itself :)

We are currently using Scrutinizer to achieve this. Although there is no CI config stored in the repository, it will indeed run when commits are pushed and pull requests are opened. Scrutinizer is the source of the badges you see in README.md.
The Scrutinizer configuration runs the mediact/testing-suite package, with:

Composer checks
PHPCS
PHPMD
PHPStan
Phpunit
DependencyGuard

So Dependency Guard checks its own code in CI.

OK because it is not configured here in a standardized way it was not clear to me.
Could you add something like:
find src  tests -name '*.php' | xargs -n 1 -P4 /usr/bin/php -l

Or the scrutinizer equivalent.

Syntax errors are already covered by our configuration of GrumPHP. Granted, this will only show the first syntax error, because it breaks the test, but having mediact/testing-suite as dev-requirement should prevent you from committing files with syntax errors. I will add a test using the command you supplied, but only because that gives a more complete image while debugging issues.

I've added the test for syntax checks. Would you consider the issue closed with this change?

I've removed your suggested check again, because it gives false positives for syntax errors when running on PHP 7.1.6:
Fatal error: Syntax only allowed in Hack files (<?hh) or with -v Eval.EnableHipHopSyntax=true in src/Candidate/CandidateExtractor.php on line 56

Fatal error: Parameter $symbols is variadic and has a type constraint (Mediact\DependencyGuard\Php\SymbolInterface); variadic params with type constraints are not supported in non-Hack files in src/Php/SymbolIterator.php on line 19

The first error finds a nullable type declaration to be wrong, which is supported in 7.1. The second error is self-explanatory. Syntax errors will always cause the test to break, so I will leave the specific syntax test out.

repo: mediact/dependency-guard


text:
$200 - embedded llama3.2

definition of done:

can use llama3.2 in screenpipe through openai api compatible api (streaming or non streaming)
behind "llm" feature flag
more than 50 token per second
works with metal, cuda

most of this i already done, just need some additional plumbing and also felt like llama3.2 was slow for some reason with candle
/bounty 200

/attempt #409

Do you have a basis 50 tokens / second? I think it will take some serious work to get performance that high.

I can set up the api, but the requirement of 50t/s might be unattainable without some magic.
Here's a decent article about reducing decoding time.
https://arxiv.org/abs/2402.02057

my benchmark was when i was using  https://github.com/mlc-ai/mlc-llm i had 50 token / s using llama3.1 in the browser

I'm getting 60/second using meta-llama/Llama-3.2-1B-Instruct. I didn't consider to use a 1B model, but if that's fine, I'll run some more tests and see just how fast we can make it.

I'm getting 60/second using meta-llama/Llama-3.2-1B-Instruct. I didn't consider to use a 1B model, but if that's fine, I'll run some more tests and see just how fast we can make it.

great

Can you confirm which model to use? For example we might not want to use instruct for conversation. I have a good balance of quality and performance with a quantized 3B model.
"Make it work. Make it right. Make it fast."

Can you confirm which model to use? For example we might not want to use instruct for conversation. I have a good balance of quality and performance with a quantized 3B model.
"Make it work. Make it right. Make it fast."

hmm idk
i think we will use a lot for small tasks not necessarily streaming and less likely conversation
quantize would be good, idk how to quantize models for candle usage atm, shouldnt be too hard
btw we need this feature for today for this https://youtube.com/shorts/O28f9z0aZVk

Given that context, it would be best for us to use meta-llama/Llama-3.2-1B-Instruct since it is fine tuned to complete tasks and follow instructions. I'll set up the API and make a PR

I want to make sure you know I am actively working on this. I'm putting a lot of effort into ensuring that the solution is extensible.

Not streaming

I'm adding a tps property to the usage details.

repo: mediar-ai/screenpipe


text:
Data access changes

This change is a proposal to slightly modify how we do serialization/deserialization.
Previously we'd stick everything into the attributes in the same object level as the model. This would lead to unexpected behavior if the model was cleared or the risk of model data and plugin data clobbering one another.
This change introduces two paths to data serialization/deserialization.

Models. Models continue to use there serialize method. fromEvent has been renamed deserialize and is now passed the model data, rather than making the implementor dig it out of session.attributes itself. Besides making the interface more obvious, this could allow us to in the future inject other middleware that knows how to retrieve additional model data (e.g. from a database) w/o the models needing the change. Deserialize now goes into the reply attributes under the model key.

The session now has an attribute called outputAttributes. This is where non-model things put their attributes (e.g. plugins, or where the state goes). It's now a bit clearer that this is separate from the model. Of course plugins can still clobber each other, but at least the model, the most common thing for developers to access, is isolated now.

Coverage decreased (-0.01%) to 86.962% when pulling 0a7aeaddf40ad7b428fba9ec52143f8723fdc68e on heneryville:data-access-changes into f384a7c54edee214e26a5451418507eda0db1e66 on mediarain:v3.

Ok. All issues addressed. This is ready for another look.

authors: coveralls heneryville

repo: mediarain/voxa


text:
npm package missing typescript definitions

I think the dist script doesn't include the new index.d.ts

should be fixed in next release, thank you for reporting!

repo: medooze/media-server-node


text:
Guide on using Task resource

Lots of our users need to manage healthcare workflow with Medplum, but they are unaware of the Task resource and how it should be use. Instead, they create conventions using other fields.
This PR introduces a gentle but comprehensive guide on how the Task resource can be used, with examples, informed by our customer requests

coverage: 94.293%. remained the same when pulling 88a1fa1618a3abd8348edf2213d6fdda62a56345 on rahul-document-tasks into 859dc3558831cb2ef09f851a7dc3b88345e84778 on main.

repo: medplum/medplum


text:
[Dashboard] Show online friends list

Change this card to incorporate this change

This card should a show currently online friends list with a green dot on side

You're required to make a React component for this task

@meet59patel I would like to work on this issue.

@meet59patel Also, can we have 3 columns namely, Photo, Name and Status(Online/Offline with green dot)? This can make it more readable, and independent of the image background, in case we think of adopting the way the status is shown in social media applications

@Aniruddhmuley2001 that's a good idea. Go ahead with Photo, Name and Status like you mentioned.


text:
Missing translate label for hover on Settings

Expected Behavior
Label should be translatable
Current Behavior
After switching the language, the label still mentions "Settings (Ctrl+,)"
Screenshots (if appropriate):

Steps to Reproduce (for bugs)

Set the language to non-English
Hover the Settings icon in the bottom left corner

Your Environment

Franz Version used: 5.0.0Beta 11
Operating System and version: Kubuntu 17.10

I'd like to give this a try :)

The same issue happens when you hover the "Add new service (Ctrl+N)" (right above Settings)

I don't see a translation for that particular string. I'll fix this, but new translation ids should be added too.

Should be good as of #141 :)

@DBozhinovski thanks for taking care of this.

authors: DBozhinovski adlk mroeling phmigotto

repo: meetfranz/franz


text:
Improve welcome.cr

I fixed it by using a channel_id instead of a guild_id at creating the welcome message. I also added the ability to set the channel where the welcome message should get sended to with !setwelcome (channel).

I don't think the example needs to be this complex. There is an issue though because Discord no longer has the concept of a fixed general channel, but I don't think the way to resolve that would be to add the extra commands, as the example is really just meant to show off that you can use events other than on_message_create.


text:
Integration with Linkerd

Is your feature request related to a problem? Please describe.
Can easegress be integrated with Linkerd
Describe the solution you'd like
I would like to use Linkerd,  as it has lesser latency than other service meshes. But features like circuit break etc. are not available in Linkerd. Easegress anyhow helps in having those features..

Thanks for contributing 🎉!

hi @madugula007 , I'm unclear about the word integration and your requirement.
For service mesh, we have a product EaseMesh built on Easegress.

EaseMesh is limited to javaspring cloud ... My APIs are in Golang. Also no mTLS as of now..

EaseMesh also supports other languages besides Java/Spring by installing EaseMesh-CoreDNS .
And actually, we have supported mTLS[1] now without updating the document, which will be done soon.
[1] https://github.com/megaease/easegress/blob/38eac8e335ece1cb3494c1f2033c017cf999338b/pkg/object/meshcontroller/spec/spec.go#L120

EaseMesh is limited to java spring cloud ... My APIs are in Golang. Also no mTLS as of now..

EaseMesh supports other languages. we have the demo for golang application, you can have look - https://github.com/megaease/easemesh-demo

@madugula007  I've added a demo guide in README for https://github.com/megaease/easemesh-demo , please check it out.

Thank you will certainly try.
Kindly help me if I stuck somewhere.
Will update..

repo: megaease/easegress


text:
Remove background debugging print statement

This PR removes a debugging print statement that was left behind, solving #258.
@mattersoflight brought up a potential concern that "local_fit" background corrections were being applied to phase reconstructions, but I have reread the code closely and found that this is not the case. Background corrections are only being applied to polarization acquisition.

I found this behavior confusing too. Also when initializing the reconstructor for phase from BF, maybe we can explicitly pass in None for the bg_correction keyword argument (which defaults to "local_fit") here:
https://github.com/mehta-lab/recOrder/blob/23f6edd864eafbc16be6b07f9c231f0abe1be178/recOrder/acq/acquisition_workers.py#L230-L247

Agreed. Changing the keyword argument to "None" is much cleaner. Thanks!

Codecov Report

Merging #261 (c4b7ad5) into main (ecca6ff) will increase coverage by 0.01%.
The diff coverage is 0.00%.

@@           Coverage Diff            @@
##            main    #261      +/-   ##
========================================
+ Coverage   4.37%   4.38%   +0.01%
========================================
  Files         22      22
  Lines       4986    4971      -15
========================================
  Hits         218     218
+ Misses      4768    4753      -15

Impacted Files
Coverage Δ

recOrder/compute/qlipp_compute.py
0.00% <ø> (ø)

recOrder/plugin/main_widget.py
0.00% <0.00%> (ø)

recOrder/plugin/gui.py
0.00% <0.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

authors: codecov-commenter talonchandler ziw-liu

repo: mehta-lab/recOrder


text:
Do not convert scale metadata from micromanager

Possible fix for #418.
iohub convert now passes scale metadata by default, which means that micromanager's pixel sizes get saved into the scale metadata.
This means that recOrder now has two sources of truth for it's scale metadata: the scale metadata of the input zarr and the scale metadata that the user enters in the "pixel size" and "magnification" textboxes. This causes problems because the ome-zarr reader treats the zarr's scale metadata as truth, so when you try to compare data from the GUI to data from a file the scale is incorrect: see #418.
I can see two ways to solve this:

Treat the zarr scale metadata as truth. This would mean removing the "pixel size" and "magnification" fields from the recOrder GUI, removing the yx_pixel_size field from recOrder CLI, and forcing all recOrder==0.4.0 sessions to set the correct pixel size in the micromanager's pixel size calibration tool. This is a reasonably large change.

Continue to treat the recOrder GUI as truth and do not pass scale metadata through iohub convert. This is the one-line fix implemented here. This means that scales will be [1,1,1,1,1] throughout recOrder sessions. This means that you can easily compare everything, so it "fixes" #418.

I am leaning towards solution 2 for recOrder==0.4.0, and we can use solution 1 for recOrder==1.0.0.
Note: recorder reconstruct will continue to pass its input metadata through to the output, so mantis can continue to use recorder reconstruct.

I will add correct scale information for all of the add_image functions in recOrder to fix this.

This from https://github.com/mehta-lab/recOrder/issues/418#issue-1857408424 seems nicer to me. The old dataset problem can be solved by having a button to set layer scale to identity.
We can still use the GUI scale as the 'source of truth' for yx_pixel_size.

I will add correct scale information for all of the add_image functions in recOrder to fix this.

Thanks for bumping. I've given this some more thought, and I will add a third option:

recOrder passes scale metadata and uses it for napari visualizations, but recOrder does not use scale metadata for reconstructions. Does you think this is intuitive behavior @ziw-liu? I'm having a tough time deciding between these three options.

Option 3 will require that all add_image calls are scaled using micromanager's metadata that is converted to zarr. This will require emitting the scale from the acquisition threads, but it will work.
Also, if we choose 1 or 3 I agree that a having a Scale selected layers to identity button (or similar) will be easy to implement and useful.

3. recOrder passes scale metadata and uses it for napari visualizations, but recOrder does not use scale metadata for reconstructions. Does you think this is intuitive behavior @ziw-liu? I'm having a tough time deciding between these three options.

Is it reasonably easy to compare those 2 scales and raise a warning if they don't match? It might even serve as a reminder that the user forgot to set those GUI values correctly.

Is it reasonably easy to compare those 2 scales and raise a warning if they don't match?

I like this idea. I'll try out option 3 with warnings early next week. I'll leave this open for now in case that fails.

Closing this...#426 merged instead.

authors: talonchandler ziw-liu


text:
Add contributor page

Refer: https://truth-tunnel.vercel.app/contributors

I want to work on this

authors: mehul-m-prajapati nishanthkj


text:
fix all the array on the search get route and improve the tests

fix #2527

bors merge

authors: curquiza irevoire

repo: meilisearch/meilisearch


text:
item_assets slow search

Version Number
1.18.3
What branch are you on?
master
Describe the Bug
See thread on discord:
https://discord.com/channels/822460010649878528/1079511593064349747
While creating a collection in pmm, pmm tries to update details of the items in the collection. I have 2 asset folders on in my config (depth 2), but I have no assets for the actual movies in the collection. Finding the poster for the collection, which I have, is no problem. But Asset Warning: unable to find asset folder is taking at least 10 seconds for each movie.
Relevant Collection/Overlay/Playlist Definition
######################################################
#              COLLECTIONS                           #
######################################################
templates:
  Chart:
    sort_title: 0<<num>><<collection_name>>
    sync_mode: sync
    smart_label: random
    collection_mode: hide               # hides in library
    visible_home: true                  # shows on home screen

  Collection:
    optional:
      - collection
      - movie
    tmdb_collection_details: <<collection>>
    tmdb_movie: <<movie>>
    sync_mode: sync
    # item_assets: true
    collection_order: release
    delete_below_minimum: true

collections:
  IMDb Top 250 Movies:
    imdb_chart: top_movies
    collection_order: custom
    sync_mode: sync
    sort_title: 01-Top Movies
    visible_library: false
    collection_mode: hide               # hides in library

  Recently Released Movies:
    sort_title: 00-Recently Released
    smart_filter:
      all:
        release: 90
    summary: Released Movies in the last 90 Days
    collection_mode: hide
    visible_home: true                  # shows on home screen

  # ATMOS+DV:
   # plex_all: true
    # filters:
      # - has_dolby_vision: true
        # audio_track_title.regex: (?i)\batmos(\b|\d)
      # - has_dolby_vision: true
        # filepath.regex: (?i)\batmos(\b|\d)
  # Atmos:
    # sort_title: 00-Atmos
    # smart_filter:
      # all:
        # audio_codec:
        # - dolby_atmos
        # - truehd_atmos
        # - plus_atmos
    # summary: Dolby Atmos
    # collection_mode: hide
    # visible_home: true                  # shows on home screen

  Trending Movies:
    template: { name: Chart, num: 2 }
    tmdb_trending_daily: 30
    tmdb_trending_weekly: 30
    sync_mode: sync
    summary: Trending Movies

  Popular Movies:
    template: { name: Chart, num: 3 }
    tmdb_popular: 40
    imdb_list:
      url: https://www.imdb.com/search/title/?title_type=feature,documentary,short
      limit: 40
    summary: Popular Movies Across The Internet
    radarr_add_missing: true
    radarr_tag: pmm - Popular

  DCU:
    template:
      name: Collection
    imdb_list: https://www.imdb.com/list/ls047446610/
  MCU:
    template:
      name: Collection
    imdb_list: https://www.imdb.com/list/ls066946827/
  MCU - Chronological:
    template:
      name: Collection
    imdb_list: https://www.imdb.com/list/ls021001839/

  Top 10 Pirated Movies:
    template: { name: Chart, num: 4 }
    # sort_title: 01-Top Movies
    trakt_list: https://trakt.tv/users/linaspurinis/lists/top-10-pirated-movies-of-the-week?sort=rank,asc
    sync_mode: sync

  Top 10 Watched Movies Of The Week:
    template: { name: Chart, num: 5 }
    trakt_list: https://trakt.tv/users/linaspurinis/lists/top-watched-movies-of-the-week?sort=rank,asc
    sync_mode: sync
    limit: 30

# dynamic_collections:
  # TMDb Collections:
    # type: tmdb_collection
    # remove_suffix: "Collection"

Logs
https://gist.github.com/ikwtif/a06da7bd2d92fc1e0e59203931985617

An update to resolve this has been pushed with 1.19, @ikwtif this should be resolved.

authors: YozoraXCII ikwtif


text:
Removing last item from carousel results in an empty space (Android)

Is this a bug report, a feature request, or a question?
Bug report
Have you followed the required steps before opening a bug report?

[x] I have read the guidelines regarding bug report.
[x] I have reviewed the documentation in its entirety, including the dedicated documentations :books:.
[x] I have searched for existing issues and made sure that the problem hasn't already been reported.
[x] I am using the latest plugin version.
[x] I am following the issue template closely in order to produce a useful bug report.

Have you made sure that it wasn't a React Native bug?
Yes as far as possible.
Is the bug specific to iOS or Android? Or can it be reproduced on both platforms?
Android
Is the bug reproducible in a production environment (not a debug one)?
Yes - it presents in a live version of our app
Environment
react-native-snap-carousel: 3.8.4
react-native@0.60.5
Android 9
Expected Behavior
When removing the last item from the data I expected the carousel to display the next available item as it does with start and middle list items and as it does on iOS.
Actual Behavior
An empty space is displayed
Reproducible Demo
https://snack.expo.io/@danjvee/react-native-snap-carousel-item-remove-bug---android
Steps to Reproduce

Preview the code on Android
Scroll right to the last item in the carousel.
Tap the item delete button
Observe the empty space

I have the same issue, a quick workaround I used was scrolling to the previous item after deleting.

Hi, I have the same problem, can you explain more your solution @DiegoMac95 please

Hello, we have the same issue here, could you provide us any detailed informations ?

@askemeline When I delete an element from the carousel, I also use snapToPrev method to scroll to the previous element, manually doing what the scroll does in iOS, that deletes the empty space.

Thanks for your response but I don't really understand when you use it without the onPress. I would like that android do it automatically when I delete the last element :/

@askemeline that's why you need to add the reference like this
<Carousel
  // LIKE THIS
  ref={(c) => { this._carousel = c; }}
/>

// now you can call it wherever you have access to the reference of the carousel
deleteAndSnap = () => {
     deleteElement();
     this._carousel.snapToPrev();
}

You don't actually need to use 'onPress', you can call the method anywhere in your component using that reference

Thanks for your answer but I have still the bug :/

My bad, is working, many thanks @DiegoMac95 :)

What can I do if I have enableSnap={false}?

What can I do if I have enableSnap={false}?

Any updates in this? Still facing this issue.

authors: AlexReusC DiegoMac95 askemeline danvickers wnikola ynphea

repo: meliorence/react-native-snap-carousel


text:
Error Building vts-mapproxy on Ubuntu 20.04 LTS MGTS not found

Hi,
we are trying to re-build the vts-mapping project from source.
But we get the following error:
Could NOT find MGTS (missing: MGTS_LIBRARIES MGTS_INCLUDE_DIRS)
We searched the whole Internet for a MGTS software, but we found nothing.
What's the MGTS package?
Thanks

Ha! Found it, mapproxy. I've uploaded the libmgts packages to oss repo at https://cdn.melown.com/packages/ for Ubuntu 20.04 (focal) -- these two packages are needed:
https://cdn.melown.com/packages/repos/melown-focal/libmgts-dev_0.7.6%2B1-0focal_amd64.deb
https://cdn.melown.com/packages/repos/melown-focal/libmgts-0.7-5_0.7.6%2B1-0focal_amd64.deb

Thanks man!
You are an angel!

repo: melowntech/vts-mapproxy


text:
docs: a quick tutorial on getting started

Sending along some quick incremental doc updates. Since some community folks are already looking at the EDK 🥳

:books: Documentation preview :books:: https://meltano-edk--35.org.readthedocs.build/en/35/

https://meltano-edk--35.org.readthedocs.build/en/35/getting_started.html#basic-steps-to-get-started

repo: meltano/edk


text:
Create the meltano pipeline concept

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/274
Originally created by @mbergeron on 2019-01-10 16:57:51

@iroussos as per a discussion on how we need to have a higher order concept around the complete ELT run, mainly for integrating steps together.
Right now, we can run ELT in isolations, but the integration between each component is still imperfect:
*) there is no way to run the same extractor with different configs
*) there is no way to run the same loader with different configs
*) there is no coordination between all components about what happened in previous components, this is needed for things like selecting the correct models to run in dbt, selecting the correct database in the loader for example.
This is a proposal to add the pipeline or (orchestrate) if we can agree this is part of orchestration in the broader sense.
# via meltano add extractor
extractors:
  … # defines `tap-carbon`

# via meltano add loader
loaders:
  … # defines `target-postgres`
  - name: target-postgres
    database: raw

# how?
env:
  … # defines `raw`
  raw:
    PG_DATABASE=...
    PG_SCHEMA=raw
    …
  production:
    PG_DATABASE=...
    PG_SCHEMA=analytics
    …
# how?
pipeline:
  - name: carbon
    extractor:
      name: tap-carbon
      env: raw
    loader:
      name: target-postgres
      database: raw
      config:
        api: this_is_my_api  # this overrides `extractors['tap_carbon'].config` for this orchestration
    transformer:
      - name: dbt
      - name: python

What does it do?
Let's say you fire the carbon pipeline, using meltano elt carbon (we could make that happen)

run tap-carbon | target-postgres, using the raw environment
run dbt --models tap-carbon, using the production environment, using a Meltano macro that set the source table accordingly (this needs an issue too)
profit

i.e. this macro should map the current extractor database to the output profile.
SELECT * FROM {{meltano(carbon.region)}} → SELECT * FROM "raw.tap_carbon.region"

View 2 previous comments from the original issue on GitLab

repo: meltano/meltano


text:
Allow all plugins (utilities, custom plugins, etc.) to be configured in Meltano UI

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/3364
Originally created by @aaronsteers on 2022-03-30 22:39:52

The proposal here would be to expand the Meltano UI config experience to support interactive configuration of all plugin types.
Essentially the UI would operate the same way as today, except that any plugin could be configured using the same interface.

Closing as no longer relevant on account of the removal of the UI for Meltano 3.0

authors: MeltyBot WillDaSilva


text:
Telemetry state change event

Resolves https://github.com/meltano/internal-general/issues/338
This adds a one-time 'telemetry_state_change' event when the value of either project_id or send_anonymous_usage_stats changes.
Note: this borrows from #5941 and targets that branch.
Plan is that #5941 will merge first and then this will be updated to target main. Done.
TODO:

[x] Feature development
[x] Define Snowplow schema for the new event type
[ ] Add tests
[x] Manual sanity check
[x] Register the new event type with Snowcatcloud

The commit history in this one has things it shouldn't, right? Does it need to be rebased?

@WillDaSilva heads up on https://github.com/meltano/meltano/pull/6028 which should hopefully land this morning, it'll probably give you some merge conflicts.

@aaronsteers @pandemicsyn @pnadolny13 The new event type telemetry_state_change_event has been added to Snowcatcloud. Pending your approval, I'll put it into production mode.

@WillDaSilva fyi - https://github.com/meltano/meltano/pull/6028 landed so probably have a little merge/commit clean up.

@aaronsteers I am unable to add you as a reviewer.

@WillDaSilva - Because I authored it I guess I cannot be an approver. I'll review now and add any comments I see.

authors: WillDaSilva aaronsteers edgarrmondragon pandemicsyn