/* This file is a part of WordExtract project * * Copyright (C) 2009 Borisov Alexandr * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include #include "dict.h" #include "word.h" #include "subtitle.h" #include "srt.h" #define PROGNAME "wordextract" #define OPT_FOLDER "/.wordextract" #define PATH_LENGTH 50 Language lang; void create_dict_file(char *path); int main(int argc, char *argv[]) { FILE *subtitle; FILE *fdict; char optpath[PATH_LENGTH] = {0}; char dictfile[PATH_LENGTH] = {0}; if (argc == 2) { if (!(subtitle = fopen(argv[1], "r"))) { perror(argv[1]); exit(1); } } else { printf("Usage: %s \n", argv[0]); exit(1); } strcpy(optpath, getenv("HOME")); strcat(optpath, OPT_FOLDER); strcat(dictfile, optpath); strcat(dictfile, DICT_FILE); if (!(fdict = fopen(dictfile, "r"))) { perror(dictfile); create_dict_file(optpath); if (!(fdict = fopen(dictfile, "r"))) { perror(dictfile); exit(1); } } dict = load_dict(fdict); //TODO: process subtitle extension to detect format lang = ENG; process_srt(subtitle); print_words(words); fclose(subtitle); free_words(dict); fclose(fdict); return 0; } void create_dict_file(char *path) { mode_t mode_0755 = S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH; struct stat st; FILE *fdict; char file[PATH_LENGTH] = {0}; if (stat(path, &st)) { fprintf(stdout, "%s: Creating directory\n", path); if (mkdir(path, mode_0755)) { perror(path); exit(1); } } strcat(file, path); strcat(file, DICT_FILE); fprintf(stdout, "%s: Creating blank dictionary file\n", file); if (!(fdict = fopen(file, "w"))) { perror(file); exit(1); } fclose(fdict); }