SHOW:
|
|
- or go back to the newest paste.
1 | local tArg = {...} | |
2 | local fileName = tArg[1] | |
3 | local tapeName = tArg[2] | |
4 | local tape = peripheral.find("tape_drive") | |
5 | - | local file = fs.open(fs.combine(shell.dir(),fileName), "rb") |
5 | + | local file |
6 | if fileName:sub(1,8) == "https://" then | |
7 | - | tape.seek(-2^20) |
7 | + | file = http.get(fileName) |
8 | else | |
9 | file = fs.open(fs.combine(shell.dir(),fileName), "r") | |
10 | end | |
11 | local byte = 0 | |
12 | tape.seek(-tape.getPosition()) | |
13 | if tapeName then | |
14 | tape.setLabel(tapeName) | |
15 | end | |
16 | local counter = 0 | |
17 | - | tape.write(byte) |
17 | + | |
18 | - | if counter % 2048 == 0 then |
18 | + | |
19 | byte = file.read() | |
20 | if not byte then break end | |
21 | counter = counter + 1 | |
22 | tape.write(byte:byte()) | |
23 | if counter == 4096 then | |
24 | counter = 0 | |
25 | - | tape.seek(-2^20) |
25 | + | |
26 | os.pullEvent("yield") | |
27 | write(".") | |
28 | end | |
29 | end | |
30 | tape.seek(-tape.getPosition()) | |
31 | file.close() | |
32 | print("\nIt is written.") |