Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also .

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also .
Choose a Base Repository
datproject/dat
6a68/dat
ANB2/dat
Afey/dat
Ago3t1nho/dat
AlexJiaeHwang/dat
AlexandreXavier/dat
DTrejo/dat
DanteZhou/dat
FLGMwt/dat
GeoBIMpro/dat
HackG/dat
JakenHerman/dat
Klaudit/dat
LinusU/dat
MaxGfeller/dat
Mkoopajr/dat
NEPHILIM-1/dat
NortySpock/dat
Renthusiast/dat
RichardLitt/dat
SanjeebJena/dat
StarNebula/dat
WardCunningham/dat
WorldofOpenDev/dat
YanLinAung/dat
adriagalin/dat
agibsonccc/dat
ajschumacher/dat
akoenig/dat
anandthakker/dat
asd1355215911/dat
atul4mlko/dat
beaugunderson/dat
benitogf/dat
bigeasy/dat
binocarlos/dat
bmpvieira/dat
bnvk/dat
bradparks/dat
bsletten/dat
bussiere/dat
captainsafia/dat
ceejbot/dat
cesine/dat
chillypenguin/dat
chipski/dat
chrisekelley/dat
chuesler/dat
chumpalump/dat
clemsos/dat
cmpera/dat
cnwhy/dat
corbt/dat
dafyddcrosby/dat
davidguttman/dat
delkyd/dat
denismars/dat
derek-watson/dat
devildeveloper/dat
digideskio/dat
diorahman/dat
domspad/dat
dr-lab/dat
eayoungs/dat
ecoviz/dat
edsu/dat
ekg/dat
elf-pavlik/dat
engalex/dat
evanv/dat
finnp/dat
flyingzumwalt/dat
frewsxcv/dat
fureigh/dat
fusuma/dat
gabelula/dat
gabrielcury/dat
gavioto/dat
giantoak/dat
gijs/dat
gobengo/dat
groundrace/dat
hackerway/dat
hadoocn/dat
hasantayyar/dat
hexagon6/dat
hunterwayne7/dat
hyperwalle/dat
inno-v/dat
isayev/dat
jahraphael/dat
jamiepg1/dat
jarib/dat
jay3126/dat
jbenet/dat
jcblw/dat
jimjea/dat
jjjjw/dat
jkutianski/dat
joaquimserafim/dat
josephmartz/dat
joyrexus/dat
jqnatividad/dat
jronallo/dat
karissa/dat
kesla/dat
kevinsimper/dat
keynmol/dat
khayuenkam/dat
kod3r/dat
kodemill/dat
konklone/dat
lazycrazyowl/dat
lazymike/dat
lemonhall/dat
literalsands/dat
llenroc/dat
lmmx/dat
lnielsen/dat
mafintosh/dat
manjush3v/dat
marcesher/dat
marcoippolito/dat
markandrewj/dat
mathisonian/dat
mattknox/dat
mcanthony/dat
mikelehen/dat
mnjstwins/dat
modulexcite/dat
mshayeb/dat
myf/dat
nagyistoce/dat
natematias/dat
natlownes/dat
ngEdmundas/dat
nikita0208/dat
nvcexploder/dat
nvdnkpr/dat
optikfluffel/dat
paulfitz/dat
pilhokim/dat
pjbr/dat
pkafei/dat
podviaznikov/dat
pombredanne/dat
powerpak/dat
prodigeni/dat
pshken/dat
rakesh-mohanta/dat
reggi/dat
rgbkrk/dat
rjsteinert/dat
rliebi/dat
rmoorman/dat
rramdas/dat
ryancoleman/dat
saebekassebil/dat
samuell/dat
sballesteros/dat
schee/dat
schlos/dat
sethvincent/dat
sfrdmn/dat
shama/dat
silky/dat
smikes/dat
sportebois/dat
springmeyer/dat
stamhe/dat
stefanw/dat
suarasaur/dat
suensummit/dat
syncreticudon/dat
tacaswell/dat
tahoemph/dat
tforsberg/dat
timoxley/dat
tlevine/dat
todrobbins/dat
trygve-lie/dat
twistedogic/dat
twong/dat
tylerstalder/dat
vfulco/dat
vnoxygen/dat
vojnovski/dat
waqaszahoor/dat
wbteve/dat
wking/dat
xazzz/dat
xnsxns7/dat
yalamber/dat
ychaim/dat
yetone/dat
yueyingcui/dat
ywyw/dat
zawsx/opendata-db-dat
zofuthan/dat
Nothing to show
Choose a Head Repository
datproject/dat
6a68/dat
ANB2/dat
Afey/dat
Ago3t1nho/dat
AlexJiaeHwang/dat
AlexandreXavier/dat
DTrejo/dat
DanteZhou/dat
FLGMwt/dat
GeoBIMpro/dat
HackG/dat
JakenHerman/dat
Klaudit/dat
LinusU/dat
MaxGfeller/dat
Mkoopajr/dat
NEPHILIM-1/dat
NortySpock/dat
Renthusiast/dat
RichardLitt/dat
SanjeebJena/dat
StarNebula/dat
WardCunningham/dat
WorldofOpenDev/dat
YanLinAung/dat
adriagalin/dat
agibsonccc/dat
ajschumacher/dat
akoenig/dat
anandthakker/dat
asd1355215911/dat
atul4mlko/dat
beaugunderson/dat
benitogf/dat
bigeasy/dat
binocarlos/dat
bmpvieira/dat
bnvk/dat
bradparks/dat
bsletten/dat
bussiere/dat
captainsafia/dat
ceejbot/dat
cesine/dat
chillypenguin/dat
chipski/dat
chrisekelley/dat
chuesler/dat
chumpalump/dat
clemsos/dat
cmpera/dat
cnwhy/dat
corbt/dat
dafyddcrosby/dat
davidguttman/dat
delkyd/dat
denismars/dat
derek-watson/dat
devildeveloper/dat
digideskio/dat
diorahman/dat
domspad/dat
dr-lab/dat
eayoungs/dat
ecoviz/dat
edsu/dat
ekg/dat
elf-pavlik/dat
engalex/dat
evanv/dat
finnp/dat
flyingzumwalt/dat
frewsxcv/dat
fureigh/dat
fusuma/dat
gabelula/dat
gabrielcury/dat
gavioto/dat
giantoak/dat
gijs/dat
gobengo/dat
groundrace/dat
hackerway/dat
hadoocn/dat
hasantayyar/dat
hexagon6/dat
hunterwayne7/dat
hyperwalle/dat
inno-v/dat
isayev/dat
jahraphael/dat
jamiepg1/dat
jarib/dat
jay3126/dat
jbenet/dat
jcblw/dat
jimjea/dat
jjjjw/dat
jkutianski/dat
joaquimserafim/dat
josephmartz/dat
joyrexus/dat
jqnatividad/dat
jronallo/dat
karissa/dat
kesla/dat
kevinsimper/dat
keynmol/dat
khayuenkam/dat
kod3r/dat
kodemill/dat
konklone/dat
lazycrazyowl/dat
lazymike/dat
lemonhall/dat
literalsands/dat
llenroc/dat
lmmx/dat
lnielsen/dat
mafintosh/dat
manjush3v/dat
marcesher/dat
marcoippolito/dat
markandrewj/dat
mathisonian/dat
mattknox/dat
mcanthony/dat
mikelehen/dat
mnjstwins/dat
modulexcite/dat
mshayeb/dat
myf/dat
nagyistoce/dat
natematias/dat
natlownes/dat
ngEdmundas/dat
nikita0208/dat
nvcexploder/dat
nvdnkpr/dat
optikfluffel/dat
paulfitz/dat
pilhokim/dat
pjbr/dat
pkafei/dat
podviaznikov/dat
pombredanne/dat
powerpak/dat
prodigeni/dat
pshken/dat
rakesh-mohanta/dat
reggi/dat
rgbkrk/dat
rjsteinert/dat
rliebi/dat
rmoorman/dat
rramdas/dat
ryancoleman/dat
saebekassebil/dat
samuell/dat
sballesteros/dat
schee/dat
schlos/dat
sethvincent/dat
sfrdmn/dat
shama/dat
silky/dat
smikes/dat
sportebois/dat
springmeyer/dat
stamhe/dat
stefanw/dat
suarasaur/dat
suensummit/dat
syncreticudon/dat
tacaswell/dat
tahoemph/dat
tforsberg/dat
timoxley/dat
tlevine/dat
todrobbins/dat
trygve-lie/dat
twistedogic/dat
twong/dat
tylerstalder/dat
vfulco/dat
vnoxygen/dat
vojnovski/dat
waqaszahoor/dat
wbteve/dat
wking/dat
xazzz/dat
xnsxns7/dat
yalamber/dat
ychaim/dat
yetone/dat
yueyingcui/dat
ywyw/dat
zawsx/opendata-db-dat
zofuthan/dat
Nothing to show
  • 3 commits
  • 3 files changed
  • 0 commit comments
  • 1 contributor
Showing with 32 additions and 16 deletions.
  1. +15 −0 fs.js
  2. +16 −16 index.js
  3. +1 −0 package.json
View
15 fs.js
@@ -1,4 +1,7 @@
var fs = require('fs')
var pump = require('pump')
var mkdirp = require('mkdirp')
var through = require('through2')
var path = require('path')
var walker = require('folder-walker')
var each = require('stream-each')
@@ -28,3 +31,15 @@ module.exports.listEach = function (opts, onEach, cb) {
onEach(item, next)
}, cb)
}
module.exports.createDownloadStream = function (drive, dir) {
return through.obj(function (entry, enc, next) {
var entryPath = path.join(dir, entry.value.name)
mkdirp.sync(path.dirname(entryPath))
var content = drive.get(entry)
var writeStream = fs.createWriteStream(entryPath, {mode: entry.value.mode})
pump(content.createStream(), writeStream, function (err) {
next(err)
})
})
}
View
@@ -1,9 +1,7 @@
var net = require('net')
var fs = require('fs')
var collect = require('collect-stream')
var path = require('path')
var hyperdrive = require('hyperdrive')
var mkdirp = require('mkdirp')
var through = require('through2')
var pump = require('pump')
var series = require('run-series')
var homeDir = require('home-dir')
@@ -27,6 +25,7 @@ function Dat (opts) {
}
Dat.prototype.add = function (dirs, cb) {
var self = this
if (!dirs) throw new Error('must specify directory or directories to add')
if (!cb) throw new Error('must specify callback')
@@ -37,7 +36,7 @@ Dat.prototype.add = function (dirs, cb) {
var tasks = dirs.map(function (dir) {
return function (cb) {
datFs.listEach({dir: dir}, eachItem, cb)
self.fs.listEach({dir: dir}, eachItem, cb)
}
})
@@ -111,7 +110,18 @@ Dat.prototype.close = function (cb) {
this.discovery.close(cb)
}
// TODO remove fs specific code from this method
Dat.prototype.metadata = function (link, cb) {
var self = this
self.joinTcpSwarm(link, function (_err, link, port, close) {
var feed = self.drive.get(link)
collect(feed.createStream(), function (err, data) {
cb(err, data)
// TODO: instead of closing, return the swarm.
close()
})
})
}
Dat.prototype.download = function (link, dir, cb) {
var self = this
if (!cb) cb = function noop () {}
@@ -121,17 +131,7 @@ Dat.prototype.download = function (link, dir, cb) {
var feed = self.drive.get(link) // the link identifies/verifies the content
var feedStream = feed.createStream()
var download = through.obj(function (entry, enc, next) {
var entryPath = path.join(dir, entry.value.name)
mkdirp.sync(path.dirname(entryPath))
var content = self.drive.get(entry)
var writeStream = fs.createWriteStream(entryPath, {mode: entry.value.mode})
pump(content.createStream(), writeStream, function (err) {
next(err)
})
})
var download = self.fs.createDownloadStream(self.drive, dir)
pump(feedStream, download, function (err) {
cb(err, link, port, close)
})
View
@@ -23,6 +23,7 @@
"author": "max ogden",
"license": "BSD-3-Clause",
"dependencies": {
"collect-stream": "^1.1.1",
"connections": "^1.0.0",
"discovery-channel": "^1.2.1",
"folder-walker": "^1.1.2",

No commit comments for this range