void PlayerSource::run() { // initial data if (m_player == QString("mpd")) { // mpd QHash<QString, QVariant> data = getPlayerMpdInfo(m_mpdAddress); for (auto key : data.keys()) values[key] = data[key]; } else if (m_player == QString("mpris")) { // players which supports mpris QString mpris = m_mpris == QString("auto") ? getAutoMpris() : m_mpris; QHash<QString, QVariant> data = getPlayerMprisInfo(mpris); for (auto key : data.keys()) values[key] = data[key]; } // dymanic properties // solid values[QString("player/salbum")] = stripString(values[QString("player/album")].toString(), m_symbols); values[QString("player/sartist")] = stripString(values[QString("player/artist")].toString(), m_symbols); values[QString("player/stitle")] = stripString(values[QString("player/title")].toString(), m_symbols); // dynamic values[QString("player/dalbum")] = buildString(values[QString("player/dalbum")].toString(), values[QString("player/album")].toString(), m_symbols); values[QString("player/dartist")] = buildString(values[QString("player/dartist")].toString(), values[QString("player/artist")].toString(), m_symbols); values[QString("player/dtitle")] = buildString(values[QString("player/dtitle")].toString(), values[QString("player/title")].toString(), m_symbols); }
void readAllSts(FILE *asf) /* Read in current sequences for sts markers */ { struct dnaSeq *ds; struct sts *s; char *words[8], *acc=NULL, *line; int wordCount; while (faReadMixedNext(asf, 0, "default", TRUE, &line, &ds)) { /* Determine the UCSC id */ wordCount = chopByWhite(line, words, ArraySize(words)); stripString(words[0], ">"); if (wordCount == 3) acc = cloneString(words[2]); else acc = NULL; /* Find the record and attach */ if (hashLookup(stsHash, ds->name)) { s = hashMustFindVal(stsHash, ds->name); s->fa = ds; s->faAcc = acc; s->si->sequence = 1; } else { dnaSeqFree(&ds); freez(&line); if (acc != NULL) freez(&acc); } } }
struct hash *getUniqueStringHash(char *columnName, char *tableName) /* Read tableName. Store column as string, unique values only. */ /* Remove 'rs'. */ { struct hash *ret; char query[512]; struct sqlConnection *conn = hAllocConn(); struct sqlResult *sr; char **row; struct hashEl *helName = NULL; int count = 0; ret = newHash(18); safef(query, sizeof(query), "select %s from %s", columnName, tableName); sr = sqlGetResult(conn, query); while ((row = sqlNextRow(sr)) != NULL) { stripString(row[0], "rs"); helName = hashLookup(ret, row[0]); if (helName == NULL) { hashAdd(ret, cloneString(row[0]), NULL); count++; } } sqlFreeResult(&sr); hFreeConn(&conn); verbose(1, "%d unique %s in %s\n", count, columnName, tableName); return ret; }
struct hash *readFasta(char *chromName) /* read moltype from chrN_fasta into hash. */ /* Read again for random */ /* Also called to create the chrN_multi hash. */ { char query[512]; struct sqlConnection *conn = hAllocConn(); struct sqlResult *sr; char **row; char fastaTableName[64]; struct hash *newChromHash = NULL; char *adjustedChromName = cloneString(chromName); char *randomSubstring = NULL; newChromHash = newHash(0); randomSubstring = strstr(chromName, "random"); if (randomSubstring != NULL) stripString(adjustedChromName, "_random"); safef(fastaTableName, ArraySize(fastaTableName), "%s_snpFasta", adjustedChromName); if(!hTableExistsDb(snpDb, fastaTableName)) errAbort("can't get table %s\n", fastaTableName); safef(query, sizeof(query), "select rsId, molType from %s", fastaTableName); sr = sqlGetResult(conn, query); while ((row = sqlNextRow(sr)) != NULL) /* could check for duplicates here */ hashAdd(newChromHash, cloneString(row[0]), cloneString(row[1])); sqlFreeResult(&sr); hFreeConn(&conn); return newChromHash; }
char *abbreviateSummary(char *summary) /* Get rid of some repetitious stuff. */ { char *pattern = "Publication Note: This RefSeq record includes a subset " "of the publications that are available for this gene. " "Please see the Entrez Gene record to access additional publications."; stripString(summary, pattern); return summary; }
/** @brief Read a file and return non-comment output string Call the first time with 0 lineNumber to get the number of lines to read Then call with each lineNumber to get one camera parameter. There should be one property=value entry on each line, i.e. "exposure=auto" * @param inputFile filename to read * @param outputString one string * @param lineNumber if 0, return number of lines; else return that line number * @return int number of lines or -1 if error **/ int processFile(char *inputFile, char *outputString, int lineNumber) { FILE *infile; int stringSize = 80; // max size of one line in file char inputStr[stringSize]; int lineCount=0; if (lineNumber < 0) return (-1); if ((infile = fopen (inputFile, "r")) == NULL) { printf ("Fatal error opening file %s\n",inputFile); return (0); } while (!feof(infile)) { if (fgets (inputStr, stringSize, infile) != NULL) { // Skip empty lines if (emptyString(inputStr)) continue; // Skip comment lines if (inputStr[0] == '#' || inputStr[0] == '!') continue; lineCount++; if (lineNumber == 0) continue; else { if (lineCount == lineNumber) break; } } } // close file fclose (infile); // if number lines requested return the count if (lineNumber == 0) return (lineCount); // check for input out of range if (lineNumber > lineCount) return (-1); // return the line selected if (lineCount) { stripString(inputStr); strcpy(outputString, inputStr); return(lineCount); } else { return(-1); } }
float edfa::EDFAReadPh2(){ QString message; if(ready){ writeSerial("Ph 2\r\n"); message=readSerial(); if (message.contains("PDM2: ",Qt::CaseInsensitive)){ message = stripString(message, "PDM2:"); } } return message.toFloat(); }
void doMiddle(struct cart *theCart) /* Set up globals and make web page */ { char *db = NULL; char *ignored; struct trackDb *tracks; struct trackRef *tr; struct group *group, *groups = NULL; cart = theCart; cartWebStart(cart, NULL, "ENCODE Track Data Versions (%s)", db); getDbAndGenome(cart, &db, &ignored, NULL); tracks = hTrackDb(db); groups = groupTracks(db, tracks); for (group = groups; group != NULL; group = group->next) { if (group->tracks == NULL || !startsWith("encode", group->name)) continue; hTableStart(); puts("<TR>"); puts("<TH align=LEFT colspan=3 BGCOLOR=#536ED3>"); printf("<B> %s</B> ", wrapWhiteFont(group->label)); printf(" "); puts("</TH>\n"); puts("</TR>"); for (tr = group->tracks; tr != NULL; tr = tr->next) { char *version = trackDbSetting(tr->track, "dataVersion"); if (version) stripString(version, "ENCODE "); puts("<TR><TD>"); printf(" %s", tr->track->shortLabel); puts("</TD><TD>"); printf(" %s", version ? version : " "); puts("</TD><TD>"); printf(" %s", tr->track->longLabel); puts("</TD></TR>"); } /* printf("\t%s\t%s\t%s\n", version, tr->track->shortLabel, tr->track->longLabel); */ hTableEnd(); puts("<BR>"); } cartWebEnd(); }
bool edfa::getEmission(){ bool emission = false; //This needs to be made better so that the method will return something if no emission is found. QString message; if(ready){ writeSerial("OM\r\n"); message = readSerial(); qDebug() << "get EDFA emission message " << message; if (message.contains("OM ",Qt::CaseInsensitive)){ message = stripString(message, "OM"); qDebug() << "message contains OM"; qDebug() << "New message " << message; } } if(message == "O"){ emission = false; } if(message == "2"){ emission = true; } return emission; }
/* * readConnectionMatrix * * This function reads the network settings and place them in the * connection matrix (float array with size "len" x "len". * * @param pointer to begin of connection matrix * @param pointer to filename * @param number of elements in each connection matrix line * @return 0 if function was successfull, 1 if an error happened */ int readConnectionMatrix(float *connectionMatrix, char *filename, int len) { FILE *file = fopen(filename, "r"); if (!file) { return 1; } char buffer[1024]; while (fgets(buffer, 1024, file)) { int from, to; float propability; char *line = stripString(buffer); DPRINT("%s\n", line); if (line[0] == '#' || line[0] == 0) { continue; } if (sscanf(line, "%d %d %f", &from, &to, &propability) != 3) { continue; } if (from < 0 || from >= len || to < 0 || to >= len || from == to) { continue; } connectionMatrix[GRID(from, to, len)] = propability; if (connectionMatrix[GRID(to, from, len)] == 0) { connectionMatrix[GRID(to, from, len)] = propability; } } fclose(file); return 0; }
int main(int argc, char** argv) { if (argc == 1) { fprintf(stderr, "Usage: %s (save|load|add|delete|rename|select|list|statusbar|toggle_statusbar|checkupdate|set_checkupdate) [params]\n", argv[0]); return 1; } bool isSuccess = false; if (strcmp(argv[1], "select") == 0) { if (argc < 3) { fprintf(stderr, "Usage: %s select index\n", argv[0]); goto finish; } int index = atoi(argv[2]); isSuccess = setSelectedIndex(index); } else if (strcmp(argv[1], "add") == 0) { isSuccess = appendConfig(); } else if (strcmp(argv[1], "delete") == 0) { if (argc < 3) { fprintf(stderr, "Usage: %s delete index\n", argv[0]); goto finish; } int index = atoi(argv[2]); isSuccess = removeConfig(index); } else if (strcmp(argv[1], "rename") == 0) { // sysctl_ctl rename "index" "newname" if (argc < 4) { fprintf(stderr, "Usage: %s rename index newname\n", argv[0]); goto finish; } int index = atoi(argv[2]); char buf[512]; snprintf(buf, sizeof(buf), "%s", argv[3]); stripString(buf, sizeof(buf)); if (buf[0] == '\0') { snprintf(buf, sizeof(buf), "(null)"); } isSuccess = renameConfig(index, buf); } else if (strcmp(argv[1], "list") == 0) { outputConfigList(); return 0; } else if (strcmp(argv[1], "statusbar") == 0) { printf("%ld\n", getValue(CFSTR("isStatusbarEnable"))); return 0; } else if (strcmp(argv[1], "toggle_statusbar") == 0) { CFStringRef name = CFSTR("isStatusbarEnable"); CFIndex value = getValue(name); isSuccess = setValue(name, ! value); } else if (strcmp(argv[1], "checkupdate") == 0) { printf("%ld\n", getValue(CFSTR("isCheckUpdate"))); return 0; } else if (strcmp(argv[1], "set_checkupdate") == 0) { if (argc < 3) { fprintf(stderr, "Usage: %s set_checkupdate value\n", argv[0]); goto finish; } CFStringRef name = CFSTR("isCheckUpdate"); CFIndex value = atoi(argv[2]); isSuccess = setValue(name, value); } else if ((strcmp(argv[1], "save") == 0) || (strcmp(argv[1], "load") == 0)) { CFIndex value = getSelectedIndex(); CFStringRef identify = getIdentify(value); const char* targetFiles[] = { "/Library/org.pqrs/KeyRemap4MacBook/prefpane/checkbox.xml", "/Library/org.pqrs/KeyRemap4MacBook/prefpane/number.xml", NULL, }; if (strcmp(argv[1], "save") == 0) { isSuccess = saveToFile(targetFiles, identify); } if (strcmp(argv[1], "load") == 0) { system("/Library/org.pqrs/KeyRemap4MacBook/bin/KeyRemap4MacBook_sysctl_reset"); isSuccess = loadFromFile(targetFiles, identify); } } CFPreferencesAppSynchronize(applicationID); finish: if (isSuccess) { fprintf(stderr, "[DONE]\n"); } else { fprintf(stderr, "[ERROR]\n"); } return 0; }
void LobbyGUI::newNotification(const std::string& notif) { mLobbyOverlay->addAction( stripString(notif) ); }
void LobbyGUI::newMessage(const std::string& user, const std::string& line) { mLobbyOverlay->addText( stripString(user), stripString(line) ); }
void gensatImageDownload(char *gensatXml, char *outDir, char *outLog) /* gensatImageDownload - Download images from gensat guided by xml file.. */ { struct xap *xap; struct gsGensatImage *image; char *ftpUri = "ftp://ftp.ncbi.nih.gov/pub/gensat"; char *jpgCgiUri = "http://www.ncbi.nlm.nih.gov/projects/gensat/gensat_img.cgi?action=image&mode=full&fmt=jpeg&id="; char finalJpg[PATH_LEN]; char finalDir[PATH_LEN]; char wgetSource[PATH_LEN]; struct hash *dirHash = newHash(16); struct dyString *mkdir = dyStringNew(0); int imageIx = 0; fLog = mustOpen(outLog, "a"); fprintf(fLog, "starting gensatImageDownload from %s to %s\n", gensatXml, outDir); xap = xapListOpen(gensatXml, "GensatImageSet", gsStartHandler, gsEndHandler); while ((image = xapListNext(xap, "GensatImage")) != NULL) { int id = image->gsGensatImageId->text; char *imageFile = image->gsGensatImageImageInfo->gsGensatImageImageInfoFullImg ->gsGensatImageInfo->gsGensatImageInfoFilename->text; /* Mangle file name a little */ subChar(imageFile, '(', '_'); stripChar(imageFile, ')'); /* Figure out name of jpeg file in outDir. */ verbose(1, "image %d, id %d\n", ++imageIx, id); safef(finalJpg, sizeof(finalJpg), "%s/%s", outDir, imageFile); stripString(finalJpg, ".full"); /* Image magick can't handle two suffixes */ chopSuffix(finalJpg); strcat(finalJpg, ".jpg"); /* Create directory that it goes in if necessary */ splitPath(finalJpg, finalDir, NULL, NULL); if (!hashLookup(dirHash, finalDir)) { hashAdd(dirHash, finalDir, NULL); dyStringClear(mkdir); dyStringPrintf(mkdir, "mkdir -p %s", finalDir); if (system(mkdir->string) != 0) errAbort("Couldn't %s", mkdir->string); } /* Download it - either directly via ftp, or indirectly via cgi. */ if (fileExists(finalJpg)) { verbose(1, "already have %s\n", imageFile); fprintf(fLog, "%s already downloaded\n", finalJpg); } else { if (endsWith(imageFile, ".jpg")) { safef(wgetSource, sizeof(wgetSource), "%s/%s", ftpUri, imageFile); if (safeGetOne(wgetSource, finalJpg)) fprintf(fLog, "Got via ftp %s\n", finalJpg); } else { safef(wgetSource, sizeof(wgetSource), "%s%d", jpgCgiUri, id); if (safeGetOne(wgetSource, finalJpg)) fprintf(fLog, "Got via cgi %s\n", finalJpg); } } } carefulClose(&fLog); }
void Songs::setData(std::string *dataInput) { dataString = dataInput->substr(0,dataInput->length()); std::string substring; substring = getParent(dataInput); stripString(&substring, "[],"); // std::cout << "OUTPUT>"<< dataString << std::endl; std::istringstream s(substring); s >> data.id; substring = getParent(dataInput); stripString(&substring, "[]"); data.Title = substring; substring = getParent(dataInput); stripString(&substring, "[]"); data.Artists = substring; // data.Artists.append("\0"); substring = getParent(dataInput); // std::cout << substring << std::endl; stripString(&substring, "[]"); // std::cout << substring << std::endl; int i; std::string subSubString; std::string token; data.rCount = 0; for(i = 0; ((int)substring.find("(")) != -1; i++) { // std::cout << "INPUT>" << substring << std::endl; subSubString = getChild(&substring); // std::cout << "OUTPUT>"<< subSubString << std::endl; // std::cout << "STRLEN>" << substring.size() << std::endl; // std::cout << "MASTER>" << substring << std::endl; stripString(&subSubString, "()"); // std::cout << "SEARCH>" << (((int)substring.find("(")) == -1) << std::endl; // std::cout << "CLEANED>" << subSubString << std::endl; //std::cout << std::count(substring.begin(), substring.end(), ')') << std::endl; //std::cout << substring << std::endl; // std::cout << subSubString << std::endl; token = getCSV(&subSubString); // std::cout << "TOKEN1>" << token << std::endl; // std::cout << "OUTPUT>"<< subSubString << std::endl; data.ratings[i].User = token; token = getCSV(&subSubString); // std::cout << "TOKEN2>" << token << std::endl; // std::cout << "OUTPUT>"<< subSubString << std::endl; std::istringstream r(token); // std::cout << "INT>" << integer << std::endl; r >> data.ratings[i].rating; data.rCount++; } }
static void hgPositionsJson(struct jsonWrite *jw, char *db, struct hgPositions *hgp, struct cart *cart) /* Write out JSON description of multiple position matches. */ { struct hgPosTable *table; jsonWriteListStart(jw, "positionMatches"); struct trackDb *tdbList = NULL; for (table = hgp->tableList; table != NULL; table = table->next) { if (table->posList != NULL) { char *tableName = table->name; // clear the tdb cache if this track is a hub track if (isHubTrack(tableName)) tdbList = NULL; struct trackDb *tdb = tdbForTrack(db, tableName, &tdbList); if (!tdb && startsWith("all_", tableName)) tdb = tdbForTrack(db, tableName+strlen("all_"), &tdbList); if (!tdb) errAbort("no track for table \"%s\" found via a findSpec", tableName); char *trackName = tdb->track; jsonWriteObjectStart(jw, NULL); jsonWriteString(jw, "name", table->name); jsonWriteString(jw, "trackName", trackName); jsonWriteString(jw, "description", table->description); jsonWriteString(jw, "vis", hCarefulTrackOpenVis(db, trackName)); jsonWriteListStart(jw, "matches"); struct hgPos *pos; for (pos = table->posList; pos != NULL; pos = pos->next) { char *encMatches = cgiEncode(pos->browserName); jsonWriteObjectStart(jw, NULL); // begin one match if (pos->chrom != NULL) jsonWriteStringf(jw, "position", "%s:%d-%d", pos->chrom, pos->chromStart+1, pos->chromEnd); else // GenBank results set position to GB accession instead of chr:s-e position. jsonWriteString(jw, "position", pos->name); // this is magic to tell the browser to make the // composite and this subTrack visible if (tdb->parent) { if (tdbIsSuperTrackChild(tdb)) jsonWriteStringf(jw, "extraSel", "%s=show&", tdb->parent->track); else { // tdb is a subtrack of a composite or a view jsonWriteStringf(jw, "extraSel", "%s_sel=1&%s_sel=1&", trackName, tdb->parent->track); } } jsonWriteString(jw, "hgFindMatches", encMatches); jsonWriteString(jw, "posName", htmlEncodeText(pos->name, FALSE)); if (pos->description) { stripString(pos->description, "\n"); jsonWriteString(jw, "description", stripAnchor(pos->description)); } jsonWriteObjectEnd(jw); // end one match } jsonWriteListEnd(jw); // end matches jsonWriteObjectEnd(jw); // end one table } } jsonWriteListEnd(jw); // end positionMatches }
/** main: initialize our shell, and loop until user specifies * exit with the appropriate commands. * @param c - user input (beginning with "cd ") */ int main(int argc, char * argv[]) { char input[SIZE]; int fk = 0; fillPathStack(); int OopsOrNah = -1; bool bg = false; if(argc == 2){ OopsOrNah = open(argv[1], O_RDWR); if( OopsOrNah >= 0){ dup2(OopsOrNah, STDIN_FILENO); } else { return throwError(); } } // loop until user exits while (1) { if (OopsOrNah < 0){ char* prompt = "CShell> "; write(STDOUT_FILENO, (void*) prompt, sizeof(prompt)-1); } fgets(input, SIZE, stdin); stripString(input); if(OopsOrNah >=0){puts(input);} int lastcharidx = lastChar(input); if (lastcharidx >= 0) { if (input[lastcharidx] == '&') { stripChar(input, '&'); stripEndSpace(input); fk = fork(); bg = true; } } //fork failed; exit if (fk < 0) { fprintf(stderr, "fork failed\n"); exit(1); } // child process: runs bash else if (fk == 0) { if (bg) { strcat(input, " &"); bg = false; } int result = parse(input); if (result == ERROR_CODE) { continue; } if (result == FORCE_EXIT) { return SUCCESS; } } //parent does nothing else { wait(NULL); exit(0); } } return SUCCESS; }