[29840] users/rhwood/Pallet

source_changes at macosforge.org source_changes at macosforge.org
Thu Oct 11 15:47:28 PDT 2007


Revision: 29840
          http://trac.macosforge.org/projects/macports/changeset/29840
Author:   rhwood at macports.org
Date:     2007-10-11 15:47:27 -0700 (Thu, 11 Oct 2007)

Log Message:
-----------
Use MPIndex for the port index. (Includes a few statements for dewbugging purposes)

Modified Paths:
--------------
    users/rhwood/Pallet/PortAuthority.h
    users/rhwood/Pallet/PortAuthority.m

Modified: users/rhwood/Pallet/PortAuthority.h
===================================================================
--- users/rhwood/Pallet/PortAuthority.h	2007-10-11 22:44:45 UTC (rev 29839)
+++ users/rhwood/Pallet/PortAuthority.h	2007-10-11 22:47:27 UTC (rev 29840)
@@ -55,7 +55,7 @@
 //	id <MPAgentProtocol> agent;
 	BOOL agentIsBusy;
 	
-	NSMutableArray *portIndex;
+	NSMutableArray *portsListIndex;
 	
 	NSMutableArray *taskQueue;
 	BOOL portIsRunning;
@@ -71,6 +71,7 @@
 	NSMutableDictionary *dependencies;
 	NSMutableArray *operations;
 
+	MPIndex *portsIndex;
 	MPMacPorts *macPorts;
 }
 
@@ -91,11 +92,7 @@
 - (IBAction)macPortsSite:(id)sender;
 - (IBAction)palletSite:(id)sender;
 
-- (void)populatePortIndex;
-
 - (void)launchExecutableWithArguments:(NSMutableArray *)args;
 - (void)launchAuthorizedExecutableWithArguments:(NSMutableArray *)args;
 
-- (void)parsePortIndex:(NSString *)portIndex intoIndexObject:(id)indexObject;
-
 @end

Modified: users/rhwood/Pallet/PortAuthority.m
===================================================================
--- users/rhwood/Pallet/PortAuthority.m	2007-10-11 22:44:45 UTC (rev 29839)
+++ users/rhwood/Pallet/PortAuthority.m	2007-10-11 22:47:27 UTC (rev 29840)
@@ -46,6 +46,7 @@
 {
 	// Get a MacPorts Interpeter
 	macPorts = [[MPMacPorts alloc] init];
+	NSLog([[macPorts search:@"goocanvas"] description]);
 	// Load/set preferences/defaults
 	if (![[[NSUserDefaultsController sharedUserDefaultsController] values] valueForKey:@"synchronizePortsListOnStartup"]) {
 		NSString *userDefaultsValuesPath;
@@ -80,6 +81,8 @@
 	// UI Tweaks
 	[[portsList headerView] setMenu:portsListHeaderMenu];
 	[[portsList cornerView] setMenu:portsListHeaderMenu];
+	// setup the displayed index
+	portsListIndex = [[NSMutableArray alloc] init];
 	// TESTING TESTING TESTING
 }
 
@@ -105,118 +108,25 @@
 		[self syncPortsList:nil];
 	}
 	// List ports
-	[self populatePortIndex];
+	[progressIndicator startAnimation:nil];
+	[status setStringValue:[NSString stringWithFormat:
+		NSLocalizedStringWithDefaultValue(@"statusPopulatePortIndex",
+										  @"Localizable",
+										  [NSBundle mainBundle],
+										  @"Reading list of ports...",
+										  @"Status for [MPAuthority populatePortIndex] method")
+		]];
+	portsIndex = [[MPIndex alloc] init];
+	[portIndexController setContent:[portsIndex allValues]];
+	NSLog(@"%i items in the index.", [portsIndex count]);
+	[status setStringValue:@""];
+	[progressIndicator stopAnimation:nil];
+	NSLog([[portsIndex valueForKey:@"goocanvas"] description]);
 }
 
+/*
 #pragma mark PORT INDEX
 
-- (void)parsePortIndex:(NSString *)index intoIndexObject:(id)indexObject
-{
-	NSString *file;
-	NSArray *lines;
-	NSMutableArray *arrays;
-	NSMutableDictionary *port;
-	NSArray *array;
-	NSEnumerator *indexEnumerator;
-	int counter;
-	int tclCount;
-	int tclResult;
-	const char **tclElements;
-	NSStringEncoding encoding;
-	NSString *key;
-	id value;
-	NSMutableArray *values;
-	NSEnumerator *valuesEnumerator;
-	int valuesCount;
-	int valuesCounter;
-	const char **valuesElements;
-	id line;
-	arrays = [[NSMutableArray alloc] init];
-	file = [[NSString alloc] initWithContentsOfFile:index];
-	lines = [file componentsSeparatedByString:@"\n"];
-	indexEnumerator = [lines objectEnumerator];
-	// throw away the lines that contain only two words (the portname and a number)
-	while (line = [indexEnumerator nextObject]) {
-		array = [line componentsSeparatedByString:@" "];
-		if ([array count] > 2) {
-			[arrays addObject:line];
-		}
-	}
-	indexEnumerator = [arrays objectEnumerator];
-	encoding = [NSString defaultCStringEncoding];
-	while (line = [indexEnumerator nextObject]) {
-		port = [[NSMutableDictionary alloc] init];
-		tclResult = Tcl_SplitList(NULL, [line cString], &tclCount, &tclElements);
-		if (tclResult == TCL_OK && !(tclCount % 2)) {
-			for (counter = 0; counter < tclCount; counter+=2) {
-				key = [[NSString alloc] initWithCString:tclElements[counter] encoding:encoding];
-				if ([key isEqualToString:@"maintainers"] ||
-					[key isEqualToString:@"depends_lib"] ||
-					[key isEqualToString:@"categories"]	||
-					[key isEqualToString:@"depends_build"]) {
-					tclResult = Tcl_SplitList(NULL, tclElements[counter + 1], &valuesCount, &valuesElements);
-					if (tclResult == TCL_OK) {
-						values = [[NSMutableArray alloc] initWithCapacity:valuesCount];
-						for (valuesCounter = 0; valuesCounter < valuesCount; valuesCounter++) {
-							[values addObject:[[NSString alloc] initWithCString:valuesElements[valuesCounter] encoding:encoding]];
-						}
-					} else {
-						values = [[NSArray alloc] init];
-					}
-					value = [[NSArray alloc] initWithArray:values];
-					// create a string containing all the tokens so that it can be rapidly and easily searched 
-					[port setValue:[[NSString alloc] initWithCString:tclElements[counter + 1] encoding:encoding] forKey:[key stringByAppendingString:@"_as_string"]];
-				} else {
-					value = [[NSString alloc] initWithCString:tclElements[counter + 1] encoding:encoding];
-				}
-				[port setValue:value forKey:key];
-				//NSLog(@"%@: %@\n", key, value);
-			}
-			if ([port valueForKey:@"depends_lib"]) {
-				values = [[NSMutableArray alloc] initWithArray:[port valueForKey:@"depends_lib"]];
-				valuesCount = [values count];
-				for (valuesCounter = 0; valuesCounter < valuesCount; valuesCounter++) {
-					value = [[[values objectAtIndex:valuesCounter] componentsSeparatedByString:@":"] lastObject];
-					[values replaceObjectAtIndex:valuesCounter withObject:value];
-				}
-				[port setValue:[[NSArray alloc] initWithArray:values] forKey:@"depends_lib"];
-			}
-			if ([port valueForKey:@"depends_build"]) {
-				values = [[NSMutableArray alloc] initWithArray:[port valueForKey:@"depends_build"]];
-				valuesCount = [values count];
-				for (valuesCounter = 0; valuesCounter < valuesCount; valuesCounter++) {
-					value = [[[values objectAtIndex:valuesCounter] componentsSeparatedByString:@":"] lastObject];
-					[values replaceObjectAtIndex:valuesCounter withObject:value];
-				}
-				[port setValue:[[NSArray alloc] initWithArray:values] forKey:@"depends_build"];
-			}
-			@try {
-				if ([[port valueForKey:@"long_description"] characterAtIndex:0] == '{') {
-					[port setValue:[port valueForKey:@"description"] forKey:@"long_description"];
-				}
-			} 
-			@catch (NSException *e) {
-				[port setValue:[NSString stringWithFormat:
-					NSLocalizedStringWithDefaultValue(@"parsePortIndexDescreiptionError",
-													  @"Localizable",
-													  [NSBundle mainBundle],
-													  @"Port has an invalid desciption or long_description key.",
-													  @"Error statement for exception raised when testing long_description.")]
-						forKey:@"long_description"];
-			}
-			// generate a composite version string: version_revision
-			[port setValue:[[[port valueForKey:@"version"] stringByAppendingString:@"_"] stringByAppendingString:[port valueForKey:@"revision"]] forKey:@"compositeVersion"];
-			// set the status flag to unknown
-			[port setValue:[NSNumber numberWithInt:portStatusUnknown] forKey:@"status"];
-			[indexObject addObject:port];
-		} else {
-			NSLog(@"Line \"%@\" from index %@ is bad.\n", line, index);
-		}
-	}
-	//NSLog(@"Parsed %d ports from index %@\n", [ports count], index);
-	Tcl_Free((char *)tclElements);
-}
-
 - (void)populatePortIndex
 {
 	NSEnumerator *indexEnumerator;
@@ -226,26 +136,13 @@
 	}
 	indexEnumerator = [[macPorts sources] objectEnumerator];
 	while (index = [indexEnumerator nextObject]) {
-		[progressIndicator startAnimation:nil];
-		[status setStringValue:@"Listing ports in all indexes..."];
-		[status setStringValue:[NSString stringWithFormat:
-			NSLocalizedStringWithDefaultValue(@"statusPopulatePortIndex",
-											  @"Localizable",
-											  [NSBundle mainBundle],
-											  @"Listing ports in index %@",
-											  @"Status for [MPAuthority populatePortIndex] method"),
-			index]];
-		[self parsePortIndex:[macPorts pathToPortIndex:index] intoIndexObject:portIndexController];
-	}
-	[status setStringValue:@""];
-	[progressIndicator stopAnimation:nil];
 }
 
 - (void)indexPortsInThread
 {
 	
 }
-
+*/
 #pragma mark PORT COMMANDS
 
 - (void)defaultAction:(id)items
@@ -396,7 +293,7 @@
 	[columns setValue:[fields objectAtIndex:0] forKey:@"name"];
 	[columns setValue:[fields objectAtIndex:1] forKey:@"version"];
 	[columns setValue:[fields objectAtIndex:2] forKey:@"categories"];
-	[portIndex addObject:columns];
+	[portsListIndex addObject:columns];
 	[portsList reloadData];
 }
 
@@ -405,9 +302,9 @@
 - (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(int)rowIndex
 {
 	NSLog(@"request for row %@ column %@\n", [NSNumber numberWithInt:rowIndex], [aTableColumn identifier]);
-	NSParameterAssert(rowIndex >= 0 && rowIndex < [portIndex count]);
+	NSParameterAssert(rowIndex >= 0 && rowIndex < [portsListIndex count]);
 	if ([[[aTableColumn identifier] stringValue] isEqualToString:@"status"]) {
-		switch ([[[portIndex objectAtIndex:rowIndex] objectForKey:[aTableColumn identifier]] intValue]) {
+		switch ([[[portsListIndex objectAtIndex:rowIndex] objectForKey:[aTableColumn identifier]] intValue]) {
 			case portStatusInstalled:
 				return nil;
 				break;
@@ -421,12 +318,12 @@
 				return nil;
 		}
 	}
-	return [[portIndex objectAtIndex:rowIndex] objectForKey:[aTableColumn identifier]];
+	return [[portsListIndex objectAtIndex:rowIndex] objectForKey:[aTableColumn identifier]];
 }
 
 - (int)numberOfRowsInTableView:(NSTableView *)aTableView
 {
-	return [portIndex count];
+	return [portsListIndex count];
 }
 
 #pragma mark MENU ITEMS

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20071011/d570eb71/attachment.html


More information about the macports-changes mailing list