{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":491630035,"defaultBranch":"main","name":"doi-utils","ownerLogin":"paulmillar","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2022-05-12T18:41:26.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/533081?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1652380887.617627","currentOid":""},"activityList":{"items":[{"before":"7055834fb41d8e0834cbfab6367dd2169a162624","after":"9f3a32e12429467a7d0c92e78e5b2cac9f60974b","ref":"refs/heads/main","pushedAt":"2023-12-15T10:09:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"paulmillar","name":"Paul Millar","path":"/paulmillar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/533081?s=80&v=4"},"commit":{"message":"Refactor file walking logic\n\nMotivation:\n\nThe current code mixes the logic for walking/visiting all files at a\nWebDAV endpoint via recursion with the code that emits a metalink\ndescription of those files.\n\nIn the interests of \"seperation of concern\" and supporting possible\nfuture extensions, these two activities should be seperated.\n\nModification:\n\nCreate an abstract walker class that is responsible for visiting all\nfiles and directories underneath a WebDAV endpoint.\n\nThe existing metalink emitting code is now available as a separate\nclass.\n\nResult:\n\nIt is now easier to extend the class to handle other use-cases.","shortMessageHtmlLink":"Refactor file walking logic"}},{"before":"e3ea010efe2e81bbb67e0b07b6997f03d0429a9c","after":"7055834fb41d8e0834cbfab6367dd2169a162624","ref":"refs/heads/main","pushedAt":"2023-12-09T22:34:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"paulmillar","name":"Paul Millar","path":"/paulmillar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/533081?s=80&v=4"},"commit":{"message":"Add DOI as 'metalink:origin'\n\nMotivation:\n\nRFC 5854 says that a Metalink file SHOULD contain a `metalink:origin`\nelement.\n\nModification:\n\nUse the DOI as the origin of the metalink file. This is somewhat\ncontentious, as the semantics of metalink:origin is either to give the\nmetalink file a unique identity, or to provide a way for a client to\nobtain an updated version of the metalink. The latter would be possible\nif the D3A proposal is adopted.\n\nNormally, a DOI resolves (via the DOI proxy) to a landing page;\ntherefore, specifying a URL (e.g., `https://doi.org/10.xxx`) might\nresult in a program receiving a confusing response. To reduce this\nrisk, the URN form (`doi:10.xxx`) is used.\n\nResult:\n\nThe ESRF Metalink files now include a metalink:origin element","shortMessageHtmlLink":"Add DOI as 'metalink:origin'"}},{"before":"a1914a094255c9300b3c0a46c81f7dad853e92c2","after":"e3ea010efe2e81bbb67e0b07b6997f03d0429a9c","ref":"refs/heads/main","pushedAt":"2023-12-07T13:18:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"paulmillar","name":"Paul Millar","path":"/paulmillar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/533081?s=80&v=4"},"commit":{"message":"Add suppress file size option\n\nMotivation:\n\nAria2c will send a Range header if the file size is known. This causes\na problem for ESRF, as the server doesn't know the file's size,\nresulting in the server responding with a 400 Bad Request response.\n\nModification:\n\nAdd option to suppress recording the file size.\n\nResult:\n\nData may be transferred.","shortMessageHtmlLink":"Add suppress file size option"}},{"before":"2a88680435385762396c6bf9ad4a0e912c71b547","after":"a1914a094255c9300b3c0a46c81f7dad853e92c2","ref":"refs/heads/main","pushedAt":"2023-12-07T13:11:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"paulmillar","name":"Paul Millar","path":"/paulmillar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/533081?s=80&v=4"},"commit":{"message":"Fix download URL\n\nMotivation:\n\nThe generated URLs for individual files do not work.\n\nModification:\n\nUse the correct form (\"/ids/\").\n\nResult:\n\nThe file's data may now be downloaded from the URL.","shortMessageHtmlLink":"Fix download URL"}},{"before":"b360e809c90ffb2aed1b16cc82d0df95925251da","after":"2a88680435385762396c6bf9ad4a0e912c71b547","ref":"refs/heads/main","pushedAt":"2023-12-07T12:55:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"paulmillar","name":"Paul Millar","path":"/paulmillar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/533081?s=80&v=4"},"commit":{"message":"Add function to ensure safe filename.\n\nMotivation:\n\nThe filename cannot be arbitrary; in particular, it must not start with\na '/' character.\n\nModification:\n\nAdd new function that ensures the filename is OK. This method currently\njust strips off any initial '/' characters.\n\nResult:\n\nAria2 will now accept ESRF datasets.","shortMessageHtmlLink":"Add function to ensure safe filename."}},{"before":"8e0cb37d68649052a743efb011af5114d7741061","after":"b360e809c90ffb2aed1b16cc82d0df95925251da","ref":"refs/heads/main","pushedAt":"2023-05-04T09:03:15.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"paulmillar","name":"Paul Millar","path":"/paulmillar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/533081?s=80&v=4"},"commit":{"message":"Changes in script to generate multiple meta-link files (#1)\n\n* Update ESRF-doi-to-metalink.py\r\n\r\n* Changes in new script to generate multiple meta-link files","shortMessageHtmlLink":"Changes in script to generate multiple meta-link files (#1)"}},{"before":"72bfaacdef79535b9a6b3a709792a7b856781a0c","after":"8e0cb37d68649052a743efb011af5114d7741061","ref":"refs/heads/main","pushedAt":"2023-04-20T11:12:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"paulmillar","name":"Paul Millar","path":"/paulmillar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/533081?s=80&v=4"},"commit":{"message":"Improve data URL discovery.\n\nThis patch makes two changes.\n\nFirst, it avoids hard-coding the IDS URL. Instead, the IDS URL is\ndiscovered by issuing an HTTP HEAD request against the ICAT+ API,\nfollowing any redirections.\n\nSecond, it makes this redirection optional. By default, the ICAT+ API\nlink is used as the data URL. If the '-f' option is specified then a\nHEAD request is used to discover the true URL from which data may be\ntransferred.","shortMessageHtmlLink":"Improve data URL discovery."}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAADyx0qQAA","startCursor":null,"endCursor":null}},"title":"Activity ยท paulmillar/doi-utils"}