made an actual readme to explain how to download pastes
This commit is contained in:
parent
4c43f54e96
commit
c4fde291e4
5 changed files with 82 additions and 29 deletions
60
README.md
60
README.md
|
@ -1,35 +1,43 @@
|
||||||
# Pastebinner
|
# Pastebinner
|
||||||
|
Check out the examples folder for some examples. I will add more soon.
|
||||||
Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/pastebinner`. To experiment with that code, run `bin/console` for an interactive prompt.
|
|
||||||
|
|
||||||
TODO: Delete this and the text above, and describe your gem
|
|
||||||
|
|
||||||
## Installation
|
|
||||||
|
|
||||||
Add this line to your application's Gemfile:
|
|
||||||
|
|
||||||
```ruby
|
|
||||||
gem 'pastebinner'
|
|
||||||
```
|
|
||||||
|
|
||||||
And then execute:
|
|
||||||
|
|
||||||
$ bundle
|
|
||||||
|
|
||||||
Or install it yourself as:
|
|
||||||
|
|
||||||
$ gem install pastebinner
|
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
Set these three environment variables:
|
||||||
|
|
||||||
TODO: Write usage instructions here
|
```
|
||||||
|
pastebin_api_key
|
||||||
|
pastebin_username
|
||||||
|
pastebin_password
|
||||||
|
```
|
||||||
|
|
||||||
## Development
|
If you want to scrape pastes, you can view a json response of the latest pastes by using the ```-s``` or ```--scrape_public``` options.
|
||||||
|
Creating pastes is built in, check ```lib/pastebinner.rb```, I am still working on adding in the functionality to use it on the command line.
|
||||||
|
The command line app can be used as follows:
|
||||||
|
|
||||||
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
```shell
|
||||||
|
pastebinner --help
|
||||||
|
Usage: pastebinner [options]
|
||||||
|
-h, --help Show this help messae
|
||||||
|
-s, --scrape_public Scrape public pastes
|
||||||
|
-r, --raw Raw paste. Requires --key passed with a valid key
|
||||||
|
-g, --get_keys Get unique paste keys from public pastes
|
||||||
|
-k, --key= Unique paste key
|
||||||
|
-d, --download Download all public pastes to data directory
|
||||||
|
-t, --trending Trending pastes
|
||||||
|
```
|
||||||
|
### Downloading pastes
|
||||||
|
Create a directory in the git repo named data, this is where the raw pastes will be stored.
|
||||||
|
Here is an example of what it looks like:
|
||||||
|
|
||||||
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
```shell
|
||||||
|
pastebinner --download
|
||||||
|
Downloading paste data into the data directory...
|
||||||
|
Complete.
|
||||||
|
```
|
||||||
|
|
||||||
## Contributing
|
The data directory will then be populated with pastebin raw paste files with the following naming scheme:
|
||||||
|
|
||||||
Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/pastebinner.
|
```shell
|
||||||
|
pastebin_paste_key_agiArDuG pastebin_paste_key_f9sZ4zfZ pastebin_paste_key_kkS48wHT pastebin_paste_key_rjxNDUbN pastebin_paste_key_vu5HSagJ pastebin_paste_key_ZZrUy4Fa
|
||||||
|
pastebin_paste_key_AHMT1YSC pastebin_paste_key_f9Zn6FWf pastebin_paste_key_kLVdVpTW pastebin_paste_key_rLDbHTZN pastebin_paste_key_vv6R1Dz4
|
||||||
|
```
|
||||||
|
|
35
README.md.default
Normal file
35
README.md.default
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
# Pastebinner
|
||||||
|
|
||||||
|
Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/pastebinner`. To experiment with that code, run `bin/console` for an interactive prompt.
|
||||||
|
|
||||||
|
TODO: Delete this and the text above, and describe your gem
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
Add this line to your application's Gemfile:
|
||||||
|
|
||||||
|
```ruby
|
||||||
|
gem 'pastebinner'
|
||||||
|
```
|
||||||
|
|
||||||
|
And then execute:
|
||||||
|
|
||||||
|
$ bundle
|
||||||
|
|
||||||
|
Or install it yourself as:
|
||||||
|
|
||||||
|
$ gem install pastebinner
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
TODO: Write usage instructions here
|
||||||
|
|
||||||
|
## Development
|
||||||
|
|
||||||
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
||||||
|
|
||||||
|
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
||||||
|
|
||||||
|
## Contributing
|
||||||
|
|
||||||
|
Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/pastebinner.
|
|
@ -10,8 +10,14 @@ pb = Pastebinner.new(ENV['pastebin_api_key'], ENV['pastebin_username'], ENV['pa
|
||||||
def download_pastes(pb)
|
def download_pastes(pb)
|
||||||
pub_pastes = pb.scrape_public_pastes
|
pub_pastes = pb.scrape_public_pastes
|
||||||
keys = pb.get_unique_paste_keys(pub_pastes)
|
keys = pb.get_unique_paste_keys(pub_pastes)
|
||||||
|
data_dir = "../data/"
|
||||||
|
filename = "pastebin_paste_key"
|
||||||
keys.map do |id|
|
keys.map do |id|
|
||||||
File.write("../data/pastebin_paste_key_#{id[:key]}", pb.raw_paste_data(id[:key]))
|
if File.exist?(data_dir + filename)
|
||||||
|
puts "#{id[:key]} already exists on your filesystem, skipping..."
|
||||||
|
else
|
||||||
|
File.write(data_dir + filename + "_#{id[:key]}", pb.raw_paste_data(id[:key]))
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
5
lib/configuration.rb
Normal file
5
lib/configuration.rb
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
class Configuration
|
||||||
|
# this is going to be where i store config options like
|
||||||
|
# - database or directory. directory is built in, we just need to fine tune it a bit more
|
||||||
|
# - we will start doing just a standard sqlite file for raw pastes as a test
|
||||||
|
end
|
|
@ -1,5 +1,4 @@
|
||||||
class PastebinnerError < StandardError
|
class PastebinnerError < StandardError
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
raise PastebinnerError
|
end
|
||||||
|
|
Loading…
Add table
Reference in a new issue