X-Git-Url: http://git.wpitchoune.net/gitweb/?a=blobdiff_plain;f=src%2Fmain.c;h=b590c67169ac52511ddbd110d829b84a01565079;hb=0303d0d705cfc2a100403a708fca0e93b12d2a93;hp=4f3a22748ec81f1f8393451bce9a62a8fbbe88a4;hpb=49b52ead6d48488a4c1f90f372564c834da803cb;p=ppastats.git diff --git a/src/main.c b/src/main.c index 4f3a227..b590c67 100644 --- a/src/main.c +++ b/src/main.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2011-2012 jeanfi@gmail.com + * Copyright (C) 2011-2014 jeanfi@gmail.com * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -26,17 +26,20 @@ #include #include "cache.h" +#include #include "html.h" -#include "log.h" +#include "http.h" #include "lp_ws.h" #include "config.h" +#include #include "ppastats.h" static const char *program_name; static void display_published_binaries(const char *owner, const char *ppa, - const char *package_status) + const char *package_status, + int ws_size) { struct ppa_stats *ppastats; struct package_stats **packages; @@ -44,7 +47,7 @@ static void display_published_binaries(const char *owner, struct distro_stats **distros; struct arch_stats **archs; - ppastats = create_ppa_stats(owner, ppa, package_status); + ppastats = create_ppa_stats(owner, ppa, package_status, ws_size); packages = ppastats->packages; while (packages && *packages) { struct package_stats *p = *packages; @@ -93,49 +96,50 @@ static struct option long_options[] = { {"debug", no_argument, 0, 'd'}, {"status", required_argument, 0, 's'}, {"skip-js-css", no_argument, 0, 'S'}, + {"get-bpph-size", required_argument, 0, 0}, {0, 0, 0, 0} }; static void print_version() { printf("ppastats %s\n", VERSION); - printf(_("Copyright (C) %s jeanfi@gmail.com\n\ -License GPLv2: GNU GPL version 2 or later \ -\n\ -This is free software: you are free to change and redistribute it.\n\ -There is NO WARRANTY, to the extent permitted by law.\n"), - "2011-2012"); + printf(_("Copyright (C) %s jeanfi@gmail.com\n" +"License GPLv2: GNU GPL version 2 or later\n" +"\n" +"This is free software: you are free to change and redistribute it.\n" +"There is NO WARRANTY, to the extent permitted by law.\n"), + "2011-2014"); } static void print_help() { printf(_("Usage: %s [OPTION]... PPA_OWNER PPA_NAME\n"), program_name); - puts(_("ppastats is a command application" - " for generating PPA statistics.\n")); - - puts(_("Prints number of downloads for each published packages of a " - "PPA or generates an HTML page containing a graph " - "representation.")); + puts(_( +"ppastats is a command application for generating PPA statistics.\n")); + puts(_( +"Prints number of downloads for each published packages of a PPA or generates\n" +"an HTML page containing a graph representation.")); puts(""); puts(_("Options:")); - puts(_("\ - -h, --help display this help and exit\n\ - -v, --version display version information and exit")); + puts(_(" -h, --help display this help and exit")); + puts(_(" -v, --version display version information and exit")); puts(""); - puts(_("\ - -o, --output-dir=[PATH] generates HTML pages into 'PATH'.")); + puts(_(" -o, --output-dir=[PATH] generates HTML pages into 'PATH'")); - puts(_("\ - -s, --status=[STATUS] retrieves only package of the given status\n\ - (possible values are: Pending, Published, \n\ - Superseded, Deleted or Obsolete).")); + puts(_( +" -s, --status=[STATUS] retrieves only package of the given status\n" +" (possible values are: Pending, Published,\n" +" Superseded, Deleted or Obsolete)")); - puts(_("\ - -S, --skip-js-css skip installation of js and css files")); + puts(_( +" -S, --skip-js-css skip installation of js and css files")); + puts(_( +" --get-bpph-size=[s] size of the replies of webservice requests to get\n" +" the list of binary packages. Between 1 and 300.")); puts(""); printf(_("Report bugs to: %s\n"), PACKAGE_BUGREPORT); @@ -146,7 +150,7 @@ static void print_help() int main(int argc, char **argv) { char *owner, *ppa, *package_status, *output_dir; - int optc, output_html, cmdok, install_static_files; + int optc, output_html, cmdok, install_static_files, ws_size, opti; program_name = argv[0]; @@ -159,10 +163,15 @@ int main(int argc, char **argv) output_dir = NULL; package_status = NULL; output_html = 0; + ws_size = -1; while ((optc = getopt_long(argc, argv, "vho:ds:S", long_options, - NULL)) != -1) { + &opti)) != -1) { switch (optc) { + case 0: + if (!strcmp(long_options[opti].name, "get-bpph-size")) + ws_size = atoi(optarg); + break; case 'o': output_html = 1; output_dir = strdup(optarg); @@ -190,25 +199,34 @@ int main(int argc, char **argv) } if (!cmdok || optind + 2 != argc) { - fprintf(stderr, _("Try `%s --help' for more information.\n"), + fprintf(stderr, + _("Try `%s --help' for more information.\n"), program_name); exit(EXIT_FAILURE); } + log_open("ppastats.log"); + owner = argv[optind]; ppa = argv[optind+1]; if (output_html) - ppa_to_html(owner, ppa, package_status, output_dir, - install_static_files); + ppa_to_html(owner, + ppa, + package_status, + output_dir, + install_static_files, + ws_size); else - display_published_binaries(owner, ppa, package_status); + display_published_binaries(owner, ppa, package_status, ws_size); /* for valgrind.... */ free(package_status); free(output_dir); - lp_ws_cleanup(); + http_cleanup(); cache_cleanup(); + fcache_cleanup(); + html_cleanup(); exit(EXIT_SUCCESS); }