{"id":28025691,"url":"https://github.com/daniel-j/nim_googlephotos","last_synced_at":"2025-05-11T04:28:37.301Z","repository":{"id":265139827,"uuid":"895252329","full_name":"daniel-j/nim_googlephotos","owner":"daniel-j","description":"Fetches info and photos from public Google Photos album share urls","archived":false,"fork":false,"pushed_at":"2024-12-22T23:17:54.000Z","size":211,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-11T04:28:11.186Z","etag":null,"topics":["google-photos","google-photos-albums"],"latest_commit_sha":null,"homepage":"","language":"Nim","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/daniel-j.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-27T21:10:03.000Z","updated_at":"2024-12-22T23:17:50.000Z","dependencies_parsed_at":"2024-11-27T22:45:55.657Z","dependency_job_id":null,"html_url":"https://github.com/daniel-j/nim_googlephotos","commit_stats":null,"previous_names":["daniel-j/nim_googlephotos"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daniel-j%2Fnim_googlephotos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daniel-j%2Fnim_googlephotos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daniel-j%2Fnim_googlephotos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daniel-j%2Fnim_googlephotos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/daniel-j","download_url":"https://codeload.github.com/daniel-j/nim_googlephotos/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253518944,"owners_count":21921074,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["google-photos","google-photos-albums"],"created_at":"2025-05-11T04:28:36.838Z","updated_at":"2025-05-11T04:28:37.297Z","avatar_url":"https://github.com/daniel-j.png","language":"Nim","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Nim Google Photos parser\n\n### Fetches info and photos from public Google Photos album share urls\n\n## Usage\n\nSee [tests/test_http.nim](tests/test_http.nim) for an example fetching from an online url.\n\n```nim\n# create state object (ref object)\nlet gphoto: GooglePhotos = newGooglePhotos()\n\n# following callbacks are available\n# if undefined, it will skip the parsing of photos/album info (in case you need to save memory)\ngphoto.photoCb = proc (photo: PhotoInfo) = ...\ngphoto.infoCb = proc (info: AlbumInfo) = ...\n\n# feed html into the parser, can be called multiple times\n# returns true while parsing is in progress, returns false when complete or error occured while parsing\n# takes string or Stream. Stream variant takes optional chunkSize (default = 1024)\ngphoto.parseHtml(input: string): bool\ngphoto.parseHtml(s: Stream; chunkSize: int): bool\n\n# call to clean the state/photos stored inside state object\n# does not reset callbacks\n# newGooglePhotos() calls this internally\ngphoto.init()\n\n# pass a photo url to this to request a different resolution.\n# keeps aspect ratio (contain size), image may be smaller than requested size\ngooglePhotoUrlSize(url: string; width: int; height: int): string\n```\n\n```nim\n# following types are for photos and album info:\n\ntype\n  PhotoInfo* = object\n    url*: string\n    id*: string\n    width*: int\n    height*: int\n    imageUpdateDate*: BiggestInt\n    albumAddDate*: BiggestInt\n\n  AlbumInfo* = object\n    name*: string\n    id*: string\n    createdDate*: BiggestInt\n    updatedDate*: BiggestInt\n    downloadUrl*: string\n    thumbnailUrl*: string\n    thumbnailWidth*: int\n    thumbnailHeight*: int\n    authorName*: string\n    authorAvatarUrl*: string\n    imageCount*: int\n    shareUrl*: string\n\n```\n\nEnjoy!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaniel-j%2Fnim_googlephotos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdaniel-j%2Fnim_googlephotos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaniel-j%2Fnim_googlephotos/lists"}