Coder Social home page Coder Social logo

smugmugsync's Introduction

SmugMug Sync for Windows

This project is a command line application which keeps folders from a source windows folder in sync with Albums on the photo sharing service SmugMug using their SmugMug API 1.3.0.

Project Goals

  1. Upload and sync file changes from local folders to remote SmugMug Galleries
  2. Process Keywords for Images and Videos up to SmugMug, splitting up keyword trees
  3. Simple use - Run program (no params) for full sync of any new folders/galleries
  4. Any image updates (keywords, new files, removed files) need to sync to SmugMug
  5. Syncing must persist regardless of SmugMug Organize App changes (moving folder in SmugMug, settings, etc)
  6. Changes that happen to images in SmugMug (rotating, new keywords) should reverse sync back to local system

History

This project started in 2012 as I had many folders and wanted to sync them in a no hassle manner. I found the following workflow and have used it to this day:

  1. Work on photos in Adobe Lightroom, Export JPG output files to a local folder
  2. Use a separate tool (custom) to add captions to each file, and format the filenames
  3. Use another tool to apply tags to the files
  4. Copy the finished folder to my network drive in with a nice foldername, in a folder by year.
  5. Run the SmugMugSync tool, which transfers any new folders to SmugMug in a private gallery for me to review
  6. In SmugMug Organizer, apply template, select feature image(s) and move folder to final gallery location.

This may seem like a number of steps, but this SmugMug Sync tool, removes the hassle with any image updates after the initial changes, and it also has special processing to split tags and can pull tags associated with videos (on Windows).

Overall, I have 50k files, and this tool will in about 30s minus the new folder syncing (which is variable based on images/videos being uploaded).

Changelog

2012 - App initially written with .Net 4.6. + various years of tweaks

2023-09 - App was rewritten to use .Net Core 7.0, VS Code, and includes full unit testing. Integration tests for the core library, and Moq testing for the primary application. Split out the secrets and made it more shareable.

How to use

  1. Request a developer key for your app SmugMug Application Keys
  2. Put your new keys in appsettings.json (apikey/apisecret)
  3. Build and run "SmugMugCoreSync GENERATEKEYS" to generate your user keys to use with your app.
  4. Put your user keys into the appsettings.json file.
  5. Settings to drive app are all in appsettings.json, instructions will be coming shortly.

Future Plans

  1. Document the appsettings file for easier usage
  2. Move from the 1.3 API to 2.0 API

smugmugsync's People

Contributors

wizoi avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.