惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
B
Blog
博客园 - 【当耐特】
Schneier on Security
Schneier on Security
C
Check Point Blog
罗磊的独立博客
V
Visual Studio Blog
GbyAI
GbyAI
有赞技术团队
有赞技术团队
博客园 - 三生石上(FineUI控件)
J
Java Code Geeks
博客园 - 聂微东
Google DeepMind News
Google DeepMind News
T
The Blog of Author Tim Ferriss
D
Docker
Microsoft Security Blog
Microsoft Security Blog
Vercel News
Vercel News
雷峰网
雷峰网
V
V2EX
P
Proofpoint News Feed
美团技术团队
G
GRAHAM CLULEY
爱范儿
爱范儿
S
Schneier on Security
The Hacker News
The Hacker News
Security Latest
Security Latest
Y
Y Combinator Blog
D
DataBreaches.Net
L
LINUX DO - 热门话题
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
T
Tor Project blog
Microsoft Azure Blog
Microsoft Azure Blog
V
Vulnerabilities – Threatpost
The Register - Security
The Register - Security
The GitHub Blog
The GitHub Blog
P
Privacy International News Feed
S
Security Affairs
S
SegmentFault 最新的问题
C
Cisco Blogs
Latest news
Latest news
D
Darknet – Hacking Tools, Hacker News & Cyber Security
The Last Watchdog
The Last Watchdog
MongoDB | Blog
MongoDB | Blog
博客园 - 叶小钗
S
Secure Thoughts
Jina AI
Jina AI
Apple Machine Learning Research
Apple Machine Learning Research
PCI Perspectives
PCI Perspectives
Security Archives - TechRepublic
Security Archives - TechRepublic

Henri Sivonen’s pages

Parin vuoden tutkimattomuus crates.io: Rust Package Registry Asiakirjatonta toimintaa It’s not wrong that "🤦🏼‍♂️".length == 7 Koulutartuntojen tilastointimenettely Perusteasiakirjoja hallussapitämättä ikärajoitettu Asiantuntijat ja nukkuva vallan vahtikoira Koronapassilausunto Suppealla tietopohjalla ohimeneväksi väitetty Text Encoding Menu in 2021 The Text Encoding Submenu Is Gone An HTML5 Conformance Checker Not Part of the Technology Stack Browser Technology Stack Bogo-XML Declaration Returns to Gecko A Look at Encoding Detection and Encoding Menu Telemetry from Firefox 86 Why Supporting Unlabeled UTF-8 in HTML on the Web Would Be Problematic Rust Target Names Aren’t Passed to LLVM Toimintamalli Activating Browser Modes with Doctype Johtopäätöksiä mallin rakenteesta Tehtävänmäärittelyä kirjoittamatta ja kuolemia laskematta laumasuojamallinnettu Character Encoding Menu in 2014 Erillissuosituksen tarpeettomuudesta yleissuosituksen poikkeukseksi? STM:n maskiaikajana Rust 2021 Oma-aloitteisesti mallinnettu Kokopinovaatimuksin kilpailutettu chardetng: A More Compact Character Encoding Detector for the Legacy Web Varauksia paisutellen tiedotettu Perusteasiakirjoitta tiedotettu Always Use UTF-8 & Always Label Your HTML Saying So IME Smoke Testing The Validator.nu HTML Parser About the Hiragino Fonts with CSS It’s Time to Stop Adding New Features for Non-Unicode Execution Encodings in C++ Rust 2020 The Last of the Parsing Quirks About about:blank Rust 2019 a Web-Compatible Character Encoding Library in Rust How I Wrote a Modern C++ Library in Rust Using cargo-fuzz to Transfer Code Review of Simple Safe Code to Complex Code that Uses unsafe A Rust Crate that Also Quacks Like a Modern C++ Library #Rust2018 No Namespaces in JSON, Please A Lecture about HTML5 Julkisesti luotettu varmenne ikidomainille TLS:ää (SSL:ää) varten -webkit-HTML5 Lists in Attribute Values The Sad Story of PNG Gamma “Correction” If You Want Software Freedom on Phones, You Should Work on Firefox OS, Custom Hardware and Web App Self-Hostablility HTML5 Parser Improvements ARIA in HTML5 Integration: Document Conformance (Draft, Take Two) Schema.org and Pre-Existing Communities Lowering memory requirements by replacing Schematron HTML5 Parsing in Gecko: A Build Introducing SAX Tree NVDL Support in Validator.nu HOWTO Avoid Being Called a Bozo When Producing XML An Unofficial Q&A about the Discontinuation of the XHTML2 WG Thoughts on HTML5 Becoming a W3C Recommendation Four Finnish Banks Training Users to Give Banking Credentials to Another Site Unimpressed by Leopard Sergeant Semantics The Content Sink Inheritance Diagram – 2006-06-30 What is EME? About Points and Pixels as Units The Performance Cost of the HTML Tree Builder Social Media Impression Management The spacer Element Is Gone Openmind 2006 Performance Mistake XHTML and Mobile Devices WebM-Enabled Browser Usage Share Exceeds H.264-Enabled Browser Usage Share on Desktop (in StatCounter Numbers) HTML5 Parser-Based View Source Syntax Highlighting Vendor Prefixes Are Hurting the Web Accept-Charset Is No More Dualroids Writing Structural Stylable Document in Mozilla Editor ISO-8859-15 on haitallinen Hourglass The Scientific Method According to Hixie Maemo Source Code Karpelan lukkovertaus ontuu Digitaalisesta arkistoinnista ARIA in HTML5 Integration: Document Conformance (Draft) XHTML—What’s the Point? (Draft, incomplete) Mac OS X Browser Comparison HOWTO Spot a Wannabe Web Standards Advocate An Idea About Intermediate Language Trees and Web UI Generation Thoughts on Using SSL/TLS Certificates as the Solution to Phishing Bureaucracy Meets the Web Europe Day HOWTO Establish a 100% Literacy Rate What to Do with All These Photos? Charmod Norm Checking Validator Web Service Interface Ideas DTDs Don’t Work on the Web EFFI’s Day in Court
Photo and Metadata Backup for Flickr
Henri Sivonen · 2011-12-22 · via Henri Sivonen’s pages

This is a photo and metadata backup utility for Flickr written as a self-contained Java command line tool. The metadata is written is an XML file whose format is an aggregation of the response data from the Flickr API.

There is no restore utility. That’s up to you. I don’t need one yet.

(Not only is there no restore utility, this is pretty bad code. Minimal error handling, etc. Just something I hacked until it ran well enough to do what I wanted it to do.)

Why?

You might write a script that accidentally deletes stuff with the Flickr API. A disaster could damage Flickr’s system. The API and your freedom to leave could be turned off.

You never know. In any case, it is a good idea to have a copy of data before bad stuff happens.

Other backup utilities only copy your photos omitting all the metadata you’ve entered or copy metadata but entangle it in RDF. This utility copies both metadata and photos and uses Flickr’s own XML data modeling (with very slight changes to aggregate it all).

Download

Version 1.0 (tested with Java 5)

Note: API key needed.

Backup Format

The metadata backup file consists of an XML file whose root element is <rsp>. The root has two children: <photosets> and <photos>.

The children of <photosets> correspond to the response of the flickr.photosets.getPhotos API call with the response of flickr.photosets.comments.getList added as a child.

The children of <photos> correspond to the response flickr.photos.getInfo except the <comments> element is replaced with the response of flickr.photos.comments.getList.

The photos are named id_originalsecret_o.format.

Licensing

This application is Free Software consisting of bits under the MIT license, a BSD-style license and the Apache License 2.0. (Details in the package; source in the jar in the package.)

Notices

Flickr is a trademark and service mark Yahoo! Inc.

This product includes software developed by Aetrion LLC.

This product includes software developed by IBM Corporation (http://www.ibm.com) and The Apache Software Foundation (http://www.apache.org/).

Portions of this software was originally based on the following:

  • software copyright (c) 1999-2002, Lotus Development Corporation., http://www.lotus.com.

  • software copyright (c) 2001-2002, Sun Microsystems., http://www.sun.com.

  • software copyright (c) 2003, IBM Corporation., http://www.ibm.com.