All Projects → sshaw → Itunes_store_transporter

sshaw / Itunes_store_transporter

Upload and manage your assets in the iTunes Store using the iTunes Store’s Transporter (iTMSTransporter).

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Itunes store transporter

Ytmdl Web V2
Web version of ytmdl. Allows downloading songs with metadata embedded from various sources like itunes, gaana, LastFM etc.
Stars: ✭ 398 (+240.17%)
Mutual labels:  metadata, audio, itunes
Mediainfolib
Convenient unified display of the most relevant technical and tag data for video and audio files.
Stars: ✭ 330 (+182.05%)
Mutual labels:  metadata, audio
Ytmdl
A simple app to get songs from YouTube in mp3 format with artist name, album name etc from sources like iTunes, Spotify, LastFM, Deezer, Gaana etc.
Stars: ✭ 2,070 (+1669.23%)
Mutual labels:  metadata, itunes
Music Metadata
Stream and file based music metadata parser for node. Supporting a wide range of audio and tag formats.
Stars: ✭ 455 (+288.89%)
Mutual labels:  metadata, audio
nodejs-searchitunes
Lightweight node.js module to quickly search Apple's iTunes Store for music, movies, apps, etc.
Stars: ✭ 25 (-78.63%)
Mutual labels:  movies, apps
Anime Offline Database
Updated every week: A JSON based offline anime database containing the most important meta data as well as cross references to various anime sites such as MAL, ANIDB, ANILIST, KITSU and more...
Stars: ✭ 292 (+149.57%)
Mutual labels:  metadata, movies
Gradle Play Publisher
GPP is Android's unofficial release automation Gradle Plugin. It can do anything from building, uploading, and then promoting your App Bundle or APK to publishing app listings and other metadata.
Stars: ✭ 3,690 (+3053.85%)
Mutual labels:  apps, automation
Homebridge Dacp
Remotely control Apple TV and iTunes via HomeKit.
Stars: ✭ 128 (+9.4%)
Mutual labels:  automation, itunes
Tdarr
Tdarr - Distributed transcode automation using FFmpeg/HandBrake + Audio/Video library analytics + video health checking (Windows, macOS, Linux & Docker)
Stars: ✭ 911 (+678.63%)
Mutual labels:  automation, audio
Fastlane
🚀 The easiest way to automate building and releasing your iOS and Android apps
Stars: ✭ 33,382 (+28431.62%)
Mutual labels:  apps, automation
Pandoraplayer
🅿️ PandoraPlayer is a lightweight music player for iOS, based on AudioKit and completely written in Swift.
Stars: ✭ 1,037 (+786.32%)
Mutual labels:  audio, itunes
go-xmp
A native Go SDK for the Extensible Metadata Platform (XMP)
Stars: ✭ 36 (-69.23%)
Mutual labels:  metadata, itunes
Arkade
Open Source Kubernetes Marketplace
Stars: ✭ 2,343 (+1902.56%)
Mutual labels:  apps, automation
K3sup
bootstrap Kubernetes with k3s over SSH < 1 min 🚀
Stars: ✭ 4,012 (+3329.06%)
Mutual labels:  apps, automation
Itunes Remote
Remotely control iTunes on Mac without Internet 🎶📱
Stars: ✭ 160 (+36.75%)
Mutual labels:  automation, itunes
Ck Tensorflow
Collective Knowledge components for TensorFlow (code, data sets, models, packages, workflows):
Stars: ✭ 90 (-23.08%)
Mutual labels:  automation, metadata
Atldotnet
Fully managed, portable and easy-to-use C# library to read and edit audio data and metadata (tags) from various audio formats, playlists and CUE sheets
Stars: ✭ 180 (+53.85%)
Mutual labels:  metadata, audio
Exiftool Vendored.js
Fast, cross-platform Node.js access to ExifTool
Stars: ✭ 200 (+70.94%)
Mutual labels:  metadata, movies
Auto App
Crie um aplicativo com todas as tabelas de um dos seus bancos sem uma linha de código.
Stars: ✭ 18 (-84.62%)
Mutual labels:  automation, metadata
Flexget
The official FlexGet repository
Stars: ✭ 1,279 (+993.16%)
Mutual labels:  automation, movies

= iTunes::Store::Transporter

{}[http://travis-ci.org/sshaw/itunes_store_transporter] {}[https://ci.appveyor.com/project/sshaw/itunes-store-transporter] {}[https://codeclimate.com/github/sshaw/itunes_store_transporter]

Upload and manage your assets in the iTunes Store using the iTunes Store's Transporter (+iTMSTransporter+).

=== Overview

require "itunes/store/transporter"

itms = iTunes::Store::Transporter.new(:username => "SomeUser", :shortname => "shrt", # or :itc_provider, if you have no shortname :password => "[email protected]!")

itms.upload("/path/to/yourpackage.itmsp") metadata = itms.lookup(:apple_id => "yourpackage")

begin itms.verify("/path/to/package2.itmsp", :verify_asssets => false) rescue iTunes::Store::Transporter::ExecutionError => e puts "Exited with #{e.exitstatus}"

e.errors.each do |error| puts "#{error.message} - #{error.code}" puts "Basically, you have some faulty metadata" if error.missing_data? end end

=== Description

iTunes::Store::Transporter is a wrapper around Apple's +iTMSTransporter+ program. It currently supports the following operations:

  • Upload packages
  • Validate packages
  • Retrieve status information
  • Lookup package metadata and video assets
  • List providers
  • Retrieve iTunes metadata schemas

It also includes +itms+, an executable that's sorta like using +iTMSTransporter+ directly except that it can send email notifications and allows one to set global/per-command defaults via $HOME/.itms.

=== Requirements

=== Installation

Add gem "itunes_store_transporter" to your Ruby project's Gemfile to use as a library, or run gem install itunes_store_transporter to install system-wide for CLI usage.

=== Locating iTMSTransporter

If the +iTMSTransporter+ cannot be found in {one your platform's known locations}[https://github.com/sshaw/itunes_store_transporter/blob/fcb4f0f9ada4a45764160beac6a049b0d419c8a9/lib/itunes/store/transporter/shell.rb#L31] you must specify it when creating an instance of iTunes::Store::Transporter via {the :path option}[http://www.rubydoc.info/gems/itunes_store_transporter/ITunes/Store/Transporter/ITMSTransporter#initialize-instance_method].

If you're using the bundled +itms+ command you must use its +--path+ option or specify the path in the itms config file. See the +itms+ section for more info.

=== Using itms

itms COMMAND [OPTIONS] [PACKAGE]

  • +COMMAND+ - The command to run, which can be any one of {the iTunes::Store::Transporter methods}[http://sshaw.github.io/itunes_store_transporter/classes/ITunes/Store/Transporter/ITMSTransporter.html]
  • +OPTIONS+ - These are quivalent to the given +COMMAND+'s options except they must be given in a strict long option format. For example :apple_id => "X123" would be --apple-id=X123. Boolean options can be negated with the --no- prefix. For more info see {each command's options}[http://sshaw.github.io/itunes_store_transporter/classes/ITunes/Store/Transporter/ITMSTransporter.html].
  • +PACKAGE+ - The package or directory to operate on, if required by the command

Note that options with a value must contain the equals character ("="). The format is --option=value and not --option value.

==== Examples

itms upload --username=sshaw --password=w3cAllYoU --transport=aspera a_package.itmsp
itms version
itms status --no-print-stderr --vendor-id=X123123 --username=sshaw --password=sekr3t_ --shortname=ss

==== Username, Password, Short Name

Most all commands require your username and password, some require a shortname. These can be specified on the command line via the +--username+, +--password+, and +--shortname+ options, or via an +itms+ config file. See the config file section below.

==== Lookup command

The lookup command differs slightly from the gem by allowing you to download low-quality copies of the assets associated with the looked up metadata. These assets are created by Apple (at the time of this writing, Apple only allows you to download full and preview assets, there is nothing in +itms+ that would prevent you from downloading other types of assets if/when they're supported).

For example, to lookup the metadata for package +X123+ and download low-quality copies of all the assets:

itms lookup --vendor-id=X123 --assets

To download a particular asset type just provide its name:

itms lookup --vendor-id=X123 --assets=preview

If there are multiple territories this will download the preview assets for each of them. To only download assets in a given territory or territories use:

itms lookup --vendor-id=X123 --assets=preview:US itms lookup --vendor-id=X123 --assets=preview:US:BR

If necessary multiple asset types can be seperated by a comma:

itms lookup --vendor-id=X123 --assets=full,preview itms lookup --vendor-id=X123 --assets=full,preview:MX

==== Config file

Default options and email notifications can be placed in a YAML file at $HOME/.itms. To skip loading the config file use the --no-config option.

# Global command defaults
path: /usr/bin
username: sshaw
password: Pa55W0rd!

# Global email defaults
email:
  to: [email protected]
  from: [email protected]
  host: smtp.example.com

# Verify command
verify:
  shortname: lUzer

# Upload command
upload:
  shortname: enc0d3rz
  transport: Aspera
  rate: 750000
  # Email notifications for the upload command
  email:
    success:
      cc: [email protected]
      subject: iTunes Upload <%= @apple_id %>
      message: |
        <%= @username %> uploaded it using <%= @transport %>

        Bye!
    failure:
      to: [email protected]
      subject: Upload Failed!
      message: |
        Here's the problem:

        <%= @error %>

        Fix it!

As you can see, command options are turned into template variables.

=== More Info

=== Author

Skye Shaw [skye.shaw AT gmail.com]

=== License

Released under the MIT License: http://www.opensource.org/licenses/MIT


Made by {ScreenStaring}[http://screenstaring.com]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].