#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>

int cat(char *filename) {
	FILE *fp = fopen(filename, "r");
	char read[2048];
	if(fp == NULL) return 1;
	while(fgets(read, 2048, fp) != NULL) {
		printf("%s\n", read);
	}
	return 0;
}

int main(int argc, char **argv) {
	if(argc == 1) {
		printf("\nUsage: opm [ARG] [PACKAGE NAME]\nopm - Open Package Manager.\n[ARG] - install, list\n\n");
		return 0;
	}
	// Check arguments
	if(strcmp(argv[1], "install") == 0) {
		if(argc == 2) {
			printf("Usage: opm install [PACKAGE NAME]");
			return 0;
		}
		chdir("./opm/cache");
		char cmd[256];
		sprintf(cmd, "curl https://tklab.eu1.netbird.services/file/opm/%s.packinstall -s -o %s.packinstall", argv[2], argv[2]);
		system(cmd);
		sprintf(cmd, "sh %s.packinstall", argv[2]);
		system(cmd);
	}
	if(strcmp(argv[1], "list") == 0) {
		printf("\nRetrieving package list...\n");
		system("curl https://tklab.eu1.netbird.services/file/opm/packlist -o tmp -s");
		if(cat("tmp") == 1) {
			printf("Error; could not get list of packages!\n\n");
			return 1;
		}
		return 0;
	}
}