Changeset 12827
- Timestamp:
- Apr 12, 2007, 2:55:04 PM (19 years ago)
- File:
-
- 1 edited
-
trunk/ppConfigDump/src/ppConfigDump.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ppConfigDump/src/ppConfigDump.c
r12809 r12827 4 4 5 5 #include <stdio.h> 6 #include <string.h> 6 7 #include <pslib.h> 7 8 #include <psmodules.h> … … 23 24 } 24 25 26 void dump(const char *filename, // Filename to which to dump 27 const char *description, // Description of what's being dumped 28 psMetadata *md // Metadata to dump 29 ) 30 { 31 if (!filename || strlen(filename) == 0) { 32 return; 33 } 34 if (strcmp(filename, "-") == 0) { 35 psString string = psMetadataConfigFormat(md); // String to dump 36 if (!string) { 37 psErrorStackPrint(stderr, "Can't write %s to STDOUT\n", description); 38 die(PS_EXIT_SYS_ERROR); 39 } 40 fprintf(stdout, "%s", string); 41 psFree(string); 42 } else if (!psMetadataConfigWrite(md, filename)) { 43 psErrorStackPrint(stderr, "Can't write %s to %s\n", description, filename); 44 die(PS_EXIT_SYS_ERROR); 45 } 46 } 25 47 26 48 int main(int argc, char *argv[]) … … 39 61 40 62 arguments = psMetadataAlloc(); 41 psMetadataAddStr(arguments, PS_LIST_TAIL, "-file", 0, 42 "FITS file to use for camera determination", NULL);43 psMetadataAddStr(arguments, PS_LIST_TAIL, "-dump- site", 0,44 "Filename to dump site configuration", NULL);45 psMetadataAddStr(arguments, PS_LIST_TAIL, "-dump- camera", 0,46 "Filename to dump camera configuration", NULL);47 psMetadataAddStr( arguments, PS_LIST_TAIL, "-dump-format", 0,48 "Filename to dump camera format", NULL);49 psMetadataAdd Str(arguments, PS_LIST_TAIL, "-dump-recipes", 0,50 "Filename to dump recipes", NULL);63 psMetadataAddStr(arguments, PS_LIST_TAIL, "-file", 0, "FITS file to use for camera determination", NULL); 64 psMetadataAddStr(arguments, PS_LIST_TAIL, "-dump-site", 0, "Filename for site configuration", NULL); 65 psMetadataAddStr(arguments, PS_LIST_TAIL, "-dump-camera", 0, "Filename for camera configuration", NULL); 66 psMetadataAddStr(arguments, PS_LIST_TAIL, "-dump-format", 0, "Filename for camera format", NULL); 67 psMetadataAddStr(arguments, PS_LIST_TAIL, "-dump-recipes", 0, "Filename for recipes", NULL); 68 psMetadata *recipeArgs = psMetadataAlloc(); // Options for dumping a single recipe 69 psMetadataAddStr(recipeArgs, PS_LIST_TAIL, "recipe", 0, "Name of recipe", NULL); 70 psMetadataAddStr(recipeArgs, PS_LIST_TAIL, "filename", 0, "Filename", NULL); 71 psMetadataAddMetadata(arguments, PS_LIST_TAIL, "-dump-recipe", 0, "Dump a single recipe", recipeArgs); 72 psFree(recipeArgs); 51 73 52 74 if (argc == 1 || !psArgumentParse(arguments, &argc, argv)) { 53 75 fprintf(stderr, "\nPan-STARRS IPP configuration dumper\n\n"); 54 76 fprintf(stderr, "Usage: %s [-file INPUT.fits] [-dump-site FILE.mdc]\n", argv[0]); 55 fprintf(stderr, " [-dump-camera FILE.mdc] [-dump-format FILE.mdc] [-dump-recipe FILE.mdc]\n"); 77 fprintf(stderr, " [-dump-camera FILE.mdc] [-dump-format FILE.mdc] [-dump-recipes FILE.mdc]\n"); 78 fprintf(stderr, " [-dump-recipe RECIPE FILE.mdc]\n"); 79 fprintf(stderr, "\n"); 80 fprintf(stderr, " FILE.mdc may be ""-"", in which case the file is written to stdout.\n"); 56 81 fprintf(stderr, "\n"); 57 82 psArgumentHelp(arguments); … … 86 111 87 112 const char *siteName = psMetadataLookupStr(NULL, arguments, "-dump-site"); // Site filename 88 if (siteName && !psMetadataConfigWrite(config->site, siteName)) { 89 psErrorStackPrint(stderr, "Can't write site configuration to %s\n", siteName); 90 die(PS_EXIT_SYS_ERROR); 91 } 113 dump(siteName, "site configuration", config->site); 92 114 93 115 const char *camName = psMetadataLookupStr(NULL, arguments, "-dump-camera"); // Camera filename 94 if (camName && !psMetadataConfigWrite(config->camera, camName)) { 95 psErrorStackPrint(stderr, "Can't write camera configuration to %s\n", camName); 96 die(PS_EXIT_SYS_ERROR); 97 } 116 dump(camName, "camera configuration", config->camera); 98 117 99 118 const char *formatName = psMetadataLookupStr(NULL, arguments, "-dump-format"); // Format filename 100 if (formatName && !psMetadataConfigWrite(config->format, formatName)) { 101 psErrorStackPrint(stderr, "Can't write camera format to %s\n", formatName); 102 die(PS_EXIT_SYS_ERROR); 103 } 119 dump(formatName, "camera format", config->format); 104 120 105 const char *recipeName = psMetadataLookupStr(NULL, arguments, "-dump-recipes"); // Recipe filename 106 if (recipeName && !psMetadataConfigWrite(config->recipes, recipeName)) { 107 psErrorStackPrint(stderr, "Can't write recipes to %s\n", recipeName); 108 die(PS_EXIT_SYS_ERROR); 121 const char *recipesName = psMetadataLookupStr(NULL, arguments, "-dump-recipes"); // Recipes filename 122 dump(recipesName, "recipes", config->recipes); 123 124 recipeArgs = psMetadataLookupMetadata(NULL, arguments, "-dump-recipe"); 125 const char *recipeName = psMetadataLookupStr(NULL, recipeArgs, "recipe"); // Name of recipe 126 if (recipeName) { 127 psMetadata *recipe = psMetadataLookupMetadata(NULL, config->recipes, recipeName); // Recipe desired 128 if (!recipe) { 129 psError(PS_ERR_BAD_PARAMETER_VALUE, false, "Unable to find recipe %s", recipeName); 130 die(PS_EXIT_CONFIG_ERROR); 131 } 132 const char *recipeFile = psMetadataLookupStr(NULL, recipeArgs, "filename"); // Filename for recipe 133 dump(recipeFile, "recipe", recipe); 109 134 } 110 135 111 136 die(PS_EXIT_SUCCESS); 112 137 } 138
Note:
See TracChangeset
for help on using the changeset viewer.
