Sida 1 av 1

Torrentskapande?

Postat: 09 feb 2009, 07:29
av dmz
Söker något snabbt och enkelt sätt för massproduktion av torrents. Har ett krav;

Det måste vara CLI och det ska gå att scripta emot.

Har testat mktorrent, men det var inte särskilt mature. Andra förslag?

Re: Torrentskapande?

Postat: 09 feb 2009, 07:38
av Konservburk

Re: Torrentskapande?

Postat: 09 feb 2009, 07:49
av dmz
Underbart.

Vet du hur jag automatiskt kan se till att torrent-filen får samma namn som mappen jag gör en torrent av? T.ex..

/mnt/Music/A/ABBA-Blaha , då vill jag att torrentfilen ska heta ABBA-Blaha.torrent.

Re: Torrentskapande?

Postat: 09 feb 2009, 08:01
av Konservburk
Förslagsvis med ett wrapper-script.

Re: Torrentskapande?

Postat: 09 feb 2009, 08:35
av dmz
Konservburk skrev:Förslagsvis med ett wrapper-script.
Ja, givetvis. Eller?

Re: Torrentskapande?

Postat: 09 feb 2009, 16:40
av Konservburk
dmz skrev:
Konservburk skrev:Förslagsvis med ett wrapper-script.
Ja, givetvis. Eller?
Annars kan du fixa det direkt i källkoden ;)

Re: Torrentskapande?

Postat: 09 feb 2009, 16:49
av dmz
Konservburk skrev:
dmz skrev:
Konservburk skrev:Förslagsvis med ett wrapper-script.
Ja, givetvis. Eller?
Annars kan du fixa det direkt i källkoden ;)
Fast nu är mina c-kunskaper null. Vad menar du med wrapper-script? Utveckla gärna.

Re: Torrentskapande?

Postat: 09 feb 2009, 17:32
av Konservburk
dmz skrev:Fast nu är mina c-kunskaper null.

Kod: Markera allt

Index: buildtorrent.c
@@ -1230,17 +1230,16 @@
     fprintf(stderr, "buildtorrent: piece length must be greater than 0\n");
     return 1;
   }
-  if (optind + 2 < argc) {
+  if (optind + 1 < argc) {
     fprintf(stderr, "buildtorrent: too many arguments\n");
     return 1;
   }
-  if (optind + 2 > argc) {
+  if (optind + 1 > argc) {
     fprintf(stderr, "buildtorrent: too few arguments\n");
     return 1;
   }
 
   inname  = argv[optind];
-  outfile = argv[optind + 1];
 
   /* handle paths correctly (note: requires POSIX basename(), not GNU) */
   strncpy(nametemp, inname, 8191);
@@ -1437,14 +1436,20 @@
       return 1;
     }
   }
+  outfile = malloc(strlen(argv[optind]) + 9);
+  strcpy(outfile, argv[optind]);
+  strcat(outfile, ".torrent");
   if (!(output = fopen(outfile, "wb"))) {
     fprintf(stderr, "buildtorrent: couldn't open \"%s\" for writing\n", outfile
);
+    free(outfile);
     return 1;
   }
   if (bt_write(output, torrent)) {
     fprintf(stderr, "buildtorrent: error writing \"%s\"\n", outfile);
+    free(outfile);
     return 1;
   }
+  free(outfile);
   if (show) {
     printf("torrent =>\n");
     bt_show(torrent, show == 2, 2, 2, 0);
dmz skrev:Vad menar du med wrapper-script? Utveckla gärna.
Jag menar någonting i den här stilen...

Kod: Markera allt

#!/bin/bash
exec buildtorrent "$@" "${!#}.torrent"