- return Py_BuildValue(getvars[i].fmt, jcr->job->hdr.name);
- case 1: /* Director's name */
- return Py_BuildValue(getvars[i].fmt, my_name);
- case 2: /* level */
- return Py_BuildValue(getvars[i].fmt, job_level_to_str(jcr->JobLevel));
- case 3: /* type */
- return Py_BuildValue(getvars[i].fmt, job_type_to_str(jcr->JobType));
- case 4: /* JobId */
- return Py_BuildValue(getvars[i].fmt, jcr->JobId);
- case 5: /* Client */
- return Py_BuildValue(getvars[i].fmt, jcr->client->hdr.name);
- case 6: /* NumVols */
- return Py_BuildValue(getvars[i].fmt, jcr->NumVols);
- case 7: /* Pool */
- return Py_BuildValue(getvars[i].fmt, jcr->pool->hdr.name);
- case 8: /* Storage */
- return Py_BuildValue(getvars[i].fmt, jcr->store->hdr.name);
- case 9:
- return Py_BuildValue(getvars[i].fmt, jcr->catalog->hdr.name);
- case 10: /* MediaType */
- return Py_BuildValue(getvars[i].fmt, jcr->store->media_type);
- case 11: /* JobName */
- return Py_BuildValue(getvars[i].fmt, jcr->Job);
- case 12: /* JobStatus */
+ return Py_BuildValue((char *)getvars[i].fmt, jcr->job->hdr.name);
+ case 1: /* level */
+ return Py_BuildValue((char *)getvars[i].fmt, job_level_to_str(jcr->get_JobLevel()));
+ case 2: /* type */
+ return Py_BuildValue((char *)getvars[i].fmt, job_type_to_str(jcr->get_JobType()));
+ case 3: /* JobId */
+ return Py_BuildValue((char *)getvars[i].fmt, jcr->JobId);
+ case 4: /* Client */
+ return Py_BuildValue((char *)getvars[i].fmt, jcr->client->hdr.name);
+ case 5: /* NumVols */
+ POOL_DBR pr;
+ memset(&pr, 0, sizeof(pr));
+ bstrncpy(pr.Name, jcr->pool->hdr.name, sizeof(pr.Name));
+ if (db_get_pool_record(jcr, jcr->db, &pr)) {
+ jcr->NumVols = pr.NumVols;
+ return Py_BuildValue((char *)getvars[i].fmt, jcr->NumVols);
+ } else {
+ bsnprintf(errmsg, sizeof(errmsg), _("Pool record not found."));
+ goto bail_out;
+ }
+ case 6: /* Pool */
+ return Py_BuildValue((char *)getvars[i].fmt, jcr->pool->name());
+ case 7: /* Storage */
+ if (jcr->wstore) {
+ return Py_BuildValue((char *)getvars[i].fmt, jcr->wstore->name());
+ } else if (jcr->rstore) {
+ return Py_BuildValue((char *)getvars[i].fmt, jcr->rstore->name());
+ } else {
+ goto bail_out;
+ }
+ case 8:
+ return Py_BuildValue((char *)getvars[i].fmt, jcr->catalog->name());
+ case 9: /* MediaType */
+ if (jcr->wstore) {
+ return Py_BuildValue((char *)getvars[i].fmt, jcr->wstore->media_type);
+ } else if (jcr->rstore) {
+ return Py_BuildValue((char *)getvars[i].fmt, jcr->rstore->media_type);
+ } else {
+ goto bail_out;
+ }
+ case 10: /* JobName */
+ return Py_BuildValue((char *)getvars[i].fmt, jcr->Job);
+ case 11: /* JobStatus */