Security News
Weekly Downloads Now Available in npm Package Search Results
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
#Pitchfork Client
An unofficial Node.js client for Pitchfork reviews based on the Pitchfork API Client for Python.
npm install pitchfork
git clone git@github.com:omardelarosa/pitchfork-npm.git
You can then use it as a command-line tool or as a node module
##API
You can require pitchfork
and use it inside of any Node.JS application.
var p4k = require('pitchfork')
A Search
constructor that extends EventEmitter. Listeners can be attached to the 'ready' event which will fire when all reviews have been fetched and parsed. For example:
var p = require('pitchfork')
var s = new p.Search('wilco')
s.on('ready', function(results){
console.log("results", results)
})
//=> [ {Review}, {Review}, {Review}, ... ]
.results
An Array
of Review
objects.
.init()
Called once when Search is instantiated to fetch results. Not usually called directly
A Page
constructor that extends EventEmitter. This constructor takes an integer argument specifying which page of reviews you wish to fetch from /reviews/albums/:page_num
. Listeners can be attached to the 'ready' event which will fire when all reviews have been fetched and parsed. For example, this would return all the most recent reviews:
var p = require('pitchfork')
var s = new p.Page(1)
s.on('ready', function(results){
console.log("results", results)
})
//=> [ {Review}, {Review}, {Review}, ... ]
The Review
constructor encapsulates methods and data relating to the Pitchfork review. The Review
extends EventEmitter
and fires a 'ready' event when the review has been fetched and parsed.
.attributes
An Object
with information about the album and its text. Sample below:
{
"url": "/reviews/albums/9419-the-letting-go/",
"name": "Bonnie \"Prince\" Billy - The Letting Go",
"artist": "Bonnie \"Prince\" Billy",
"album": "The Letting Go",
"title": "Bonnie \"Prince\" Billy: The Letting Go | Album Reviews | Pitchfork",
"label": "Palace / Drag City",
"year": "2006",
"score": 8.2,
"cover": "http://cdn.pitchfork.com/albums/9255/homepage_large.e8a2bd20.jpg",
"author": "Mark Richardson",
"date": "September 18, 2006",
"editorial": {
"text": "...",
"html": "..."
}
.fetch()
This method is automatically called when the Review
is instantiated and returns a Promise. This generally isn't called directly.
.promise
This stores the thennable promise object generated by .fetch for attaching .then-style callbacks.
.verbose()
The full Review
instance represented as JSON.
{
"url": "/reviews/albums/9419-the-letting-go/",
"name": "Bonnie \"Prince\" Billy - The Letting Go",
"artist": "Bonnie \"Prince\" Billy",
"album": "The Letting Go",
"title": "Bonnie \"Prince\" Billy: The Letting Go | Album Reviews | Pitchfork",
"label": "Palace / Drag City",
"year": "2006",
"score": 8.2,
"cover": "http://cdn.pitchfork.com/albums/9255/homepage_large.e8a2bd20.jpg",
"author": "Mark Richardson",
"date": "September 18, 2006",
"editorial": {
"html": " <p>Though Will Oldham began his musical career while in his early twenties, ... deep absorption or self-reflection so much as a kind of fond familiarity. </p> ",
"text": " Though Will Oldham began his musical career while in his early twenties ... deep absorption or self-reflection so much as a kind of fond familiarity. "
}
}
.truncated()
The attributes of the Review
instance with editorial.html/editorial.text condensed into the first 300 characters of of the text assigned to the key '.text'.
{
"url": "/reviews/albums/9419-the-letting-go/",
"name": "Bonnie \"Prince\" Billy - The Letting Go",
"artist": "Bonnie \"Prince\" Billy",
"album": "The Letting Go",
"title": "Bonnie \"Prince\" Billy: The Letting Go | Album Reviews | Pitchfork",
"label": "Palace / Drag City",
"year": "2006",
"score": 8.2,
"cover": "http://cdn.pitchfork.com/albums/9255/homepage_large.e8a2bd20.jpg",
"author": "Mark Richardson",
"date": "September 18, 2006",
"text": " Though Will Oldham began his musical career while in his early twenties, he's never exactly sounded young. From his first releases as Palace Music, Oldham's whiskey-soaked vocals and lyrical obsessions with death, sex, and religion have made \"maturity\" something of a non-issue. And yet, with his mo..."
}
.text_pretty_print()
Prints a plain-text representation of the review.
Returns a review for a given artist and album title.
$ pitchfork wilco 'yankee hotel foxtrot'
# { ... pretty-printed, colorized quasi-JSON object... }
or you can use -a and -t flags.
$ pitchfork -a wilco -t 'yankee hotel foxtrot'
# { ... pretty-printed, colorized quasi-JSON object... }
Returns a list of reviews for a given artist with no album.
$ pitchfork -a 'wilco'
# [
# { ... pretty-printed, colorized quasi-JSON object... },
# { ... pretty-printed, colorized quasi-JSON object... },
# { ... pretty-printed, colorized quasi-JSON object... }
# ]
For valid, uncolored JSON, use the --json flag:
$ pitchfork -a 'wilco' -t 'yankee hotel foxtrot' --json
# { ... valid JSON object... }
flag(s) | required | argument | description |
---|---|---|---|
-a | y | artist_name | returns a review by given artist |
-t | album_title | returns a review by given album title | |
-j,--json | returns review attributes as un-prettified json | ||
-v, --verbose | returns review entire object as json | ||
-V, --version | returns version number | ||
-T,--truncated | returns a truncated json object of the review attributes | ||
-tx,--text | returns a text version of review (ex: to pipe output to 'less' ) | ||
-p | page_number | returns a list of reviews located on the specified page |
FAQs
An Unofficial Pitchfork Music API client for Node.js
The npm package pitchfork receives a total of 1 weekly downloads. As such, pitchfork popularity was classified as not popular.
We found that pitchfork demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
Security News
A Stanford study reveals 9.5% of engineers contribute almost nothing, costing tech $90B annually, with remote work fueling the rise of "ghost engineers."
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.