{"action":"created","issue":{"url":"https://api.github.com/repos/sqlboy/fileseq/issues/1","labels_url":"https://api.github.com/repos/sqlboy/fileseq/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/sqlboy/fileseq/issues/1/comments","events_url":"https://api.github.com/repos/sqlboy/fileseq/issues/1/events","html_url":"https://github.com/sqlboy/fileseq/issues/1","id":8282652,"number":1,"title":"Error in DISK_PATTERN regex","user":{"login":"philboltt","id":1381611,"avatar_url":"https://avatars.githubusercontent.com/u/1381611?v=3","gravatar_id":"","url":"https://api.github.com/users/philboltt","html_url":"https://github.com/philboltt","followers_url":"https://api.github.com/users/philboltt/followers","following_url":"https://api.github.com/users/philboltt/following{/other_user}","gists_url":"https://api.github.com/users/philboltt/gists{/gist_id}","starred_url":"https://api.github.com/users/philboltt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/philboltt/subscriptions","organizations_url":"https://api.github.com/users/philboltt/orgs","repos_url":"https://api.github.com/users/philboltt/repos","events_url":"https://api.github.com/users/philboltt/events{/privacy}","received_events_url":"https://api.github.com/users/philboltt/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2012-11-12T08:16:13Z","updated_at":"2015-04-22T21:56:25Z","closed_at":"2015-04-22T21:56:25Z","body":"The on-disk regex pattern fails for the following case:\r\n\r\n``` python\r\n>>> import fileseq, re\r\n>>> pattern = re.compile(fileseq.all._ON_DISK_PATTERN)\r\n>>> pattern.match('foo.r1.bar/fbx').groups()\r\n(None, 'foo.r', '1', '.bar/fbx')\r\n````\r\n\r\nThis causes errant values to be introduced in the findSequencesOnDisk() method, ultimately resulting in a parsing exception.\r\n\r\n``` python\r\nTraceback (most recent call last):\r\n  File \"<stdin>\", line 1, in <module>\r\n  File \"fileseq/all.py\", line 357, in findSequencesOnDisk\r\n    result.append(FileSequence(seq))\r\n  File \"fileseq/all.py\", line 167, in __init__\r\n    self.__frameSet = FrameSet(m.group(3))\r\n  File \"fileseq/all.py\", line 79, in __init__\r\n    raise ParseException(\"Failed to parse frame range: %s on part '%s'\" % (frange, part))\r\nfileseq.all.ParseException: Failed to parse frame range: x on part 'x'\r\n```"},"comment":{"url":"https://api.github.com/repos/sqlboy/fileseq/issues/comments/95350865","html_url":"https://github.com/sqlboy/fileseq/issues/1#issuecomment-95350865","issue_url":"https://api.github.com/repos/sqlboy/fileseq/issues/1","id":95350865,"user":{"login":"justinfx","id":282566,"avatar_url":"https://avatars.githubusercontent.com/u/282566?v=3","gravatar_id":"","url":"https://api.github.com/users/justinfx","html_url":"https://github.com/justinfx","followers_url":"https://api.github.com/users/justinfx/followers","following_url":"https://api.github.com/users/justinfx/following{/other_user}","gists_url":"https://api.github.com/users/justinfx/gists{/gist_id}","starred_url":"https://api.github.com/users/justinfx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/justinfx/subscriptions","organizations_url":"https://api.github.com/users/justinfx/orgs","repos_url":"https://api.github.com/users/justinfx/repos","events_url":"https://api.github.com/users/justinfx/events{/privacy}","received_events_url":"https://api.github.com/users/justinfx/received_events","type":"User","site_admin":false},"created_at":"2015-04-22T21:56:25Z","updated_at":"2015-04-22T21:56:25Z","body":"I've just tested this case against HEAD and it seems to be resolved with the massive number of changes that have taken place to the regular expressions and parsing logic:\r\n\r\n```python\r\n>>> pattern.match('foo.r1.bar/fbx').groups()\r\n('foo.r1.bar/', 'fbx', None, None)\r\n```\r\n\r\nThis looks to be the expected results, since it was able to parse a dirname, basename, and then no frame range or extension.  I will close this issue, but we can reopen if you find there are still edge cases."}}