1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
// import socket from '../socket'
import types from '../types'
import actions from '../actions'
import { parser } from '../api'
export const createFolder = (module, name) => dispatch => {
return actions.folder.create({
// username... should get added inside the API
module: module.name,
datatype: module.datatype,
activity: 'dataset',
name
})
}
export const updateFolder = (module, folder, name, opt={}) => dispatch => {
if (! folder || ! folder.id) {
return null
}
return actions.folder.update({
id: folder.id,
module: module.name,
datatype: module.datatype,
activity: 'dataset',
name,
opt,
})
}
export const uploadFile = (module, folder, file, filename, opt) => dispatch => {
const fd = new FormData()
fd.append('file', file, filename)
actions.folder.upload(fd, {
id: folder.id,
module: module.name,
activity: 'file',
epoch: 0,
processed: false,
generated: false,
opt,
})
}
export const fetchURL = (module, folder, url) => dispatch => {
// name url
// mime datatype
// duration analysis
// size activity
// opt created_at updated_at
console.log(module, folder, url)
const seenURL = folder.files.some(file => {
return file.url === url
})
console.log(seenURL)
if (seenURL) {
console.log('already seen this url')
return
}
parser.parse(url, media => {
if (!media) return
console.log('media', media)
actions.file.create({
folder_id: folder.id,
name: (media.title || "")
.replace(/\.[^.]+$/g, '')
.replace(/[^a-zA-Z0-9_]/g, '_')
.replace(/\s+/g, '_')
.replace(/_+/g, '_'),
module: module.name,
dataset: media.token,
activity: 'url',
duration: parseInt(media.duration) || 0,
epoch: 0,
processed: false,
generated: false,
opt: media,
url
})
})
}
export const uploadFiles = (files) => {
return { type: types.dataset.upload_files }
}
// export const uploadFiles = (files) => {
// return dispatch => {
// // return { type: types.dataset.upload_files }
// }
// }
// export const fetchURL = (url) => { type: types.dataset.fetch_url }
|