diff options
author | matt handler <matt.handler@gmail.com> | 2011-04-20 14:39:20 -0400 |
---|---|---|
committer | matt handler <matt.handler@gmail.com> | 2011-04-20 14:39:20 -0400 |
commit | 9d52266f823daf5cb83e3eebe1b9f57594bc9d4a (patch) | |
tree | 38402f7ddbb0f3a40ebc7c88d673756701f47510 /Classes/PhotoViewController.m | |
download | piccast-app-9d52266f823daf5cb83e3eebe1b9f57594bc9d4a.tar.gz piccast-app-9d52266f823daf5cb83e3eebe1b9f57594bc9d4a.zip |
first commit
Diffstat (limited to 'Classes/PhotoViewController.m')
-rw-r--r-- | Classes/PhotoViewController.m | 150 |
1 files changed, 150 insertions, 0 deletions
diff --git a/Classes/PhotoViewController.m b/Classes/PhotoViewController.m new file mode 100644 index 0000000..5999626 --- /dev/null +++ b/Classes/PhotoViewController.m @@ -0,0 +1,150 @@ +// +// PhotoViewController.m +// acidcow +// +// Created by Matthew Handler on 4/18/11. +// Copyright 2011 Earl Industries. All rights reserved. +// + +#import "PhotoViewController.h" +#import "PhotoSource.h" + +@implementation PhotoViewController + +@synthesize photoList, topic; + +- (void)viewDidLoad { +// [self convertArray]; + [super viewDidLoad]; + + _acidcowPage = [[NSMutableData data] retain]; + + [self loadImages]; +} + +- (void)viewWillDisappear:(BOOL)animated { + self.navigationController.navigationBar.barStyle = UIBarStyleDefault; +} + +- (void)setPhotoList:(NSArray *)list { + photoList = list; + [self convertArray]; +} + +-(void)setTopic:(Topic *)t { + topic = t; + self.navigationItem.title = topic.title; + [self loadImages]; + //NSLog(@"%@", topic.guid); +} + +- (void)convertArray { + NSMutableArray *converted = [[NSMutableArray alloc] initWithCapacity:[photoList count]]; + for (NSString *url in photoList) { + [converted addObject:[[[Photo alloc] initWithURL:url + smallURL:url + size:CGSizeMake(0, 0)] autorelease]]; + } + + + self.photoSource = [[PhotoSource alloc] + initWithType:PhotoSourceNormal + title:topic.title + photos:converted + photos2:nil]; +} + +#pragma mark - +#pragma mark URL Connection Stuff +- (void)loadImages { + + NSURLRequest *theRequest=[NSURLRequest requestWithURL:[NSURL URLWithString:topic.guid] + cachePolicy:NSURLRequestUseProtocolCachePolicy + timeoutInterval:3600.0]; + + if ([NSURLConnection connectionWithRequest:theRequest delegate:self]) { + [_acidcowPage setLength:0]; + } else { + //[MBProgressHUD hideHUDForView:self.view animated:YES]; + //[WerdMergeAppDelegate prompt:@"Error" withMessage:@"No internet connection" andButtonTitle:@"shucks" withDelegate:self]; + } +} + +- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response { + [_acidcowPage setLength:0]; +} + +- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data { + [_acidcowPage appendData:data]; +} + +- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error { + + //[_receivedData release]; + + //[MBProgressHUD hideHUDForView:self.view animated:YES]; + //[WerdMergeAppDelegate prompt:@"Error" withMessage:[error localizedDescription] andButtonTitle:@"Aww man..." withDelegate:self]; + //[[error userInfo] objectForKey:NSURLErrorFailingURLStringErrorKey]); + +} + +- (void)connectionDidFinishLoading:(NSURLConnection *)connection { + NSString *html = [[[NSString alloc] initWithData:_acidcowPage encoding:NSUTF8StringEncoding] autorelease]; + + NSRegularExpression* regex = [NSRegularExpression regularExpressionWithPattern:@"http://acidcow\\.com/pics[^ \"]+\\.(jpg|png|jpeg|gif)" + options:NSRegularExpressionCaseInsensitive + error:nil]; + NSArray *results = [regex matchesInString:html options:0 range:NSMakeRange(0, [html length])]; + NSMutableArray *strings = [[NSMutableArray alloc] initWithCapacity:[results count]]; + for (NSTextCheckingResult *obj in results) { + [strings addObject:[html substringWithRange:[obj range]]]; + + //NSLog(@"found: %@", [html substringWithRange:[obj range]]); + } + + //PhotoViewController *photoView = [[[PhotoViewController alloc] init] autorelease]; + self.photoList = strings; + [self convertArray]; + //[self.navigationController pushViewController:photoView animated:YES]; + // [self.view addSubview:(UIView *)photoView]; + + // if ([results count] > 0) { + // NSString *title = [currentString substringWithRange:[[results objectAtIndex:0] range]]; + // currentTopic.title = title; + // } + + //[_tableData removeAllObjects]; + //[_tableData addObjectsFromArray:[[json JSONValue] objectForKey:@"results"]]; + //[json release]; + + // if ([_tableData count] > 0) { + // [tableView reloadData]; + // [tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] atScrollPosition:UITableViewScrollPositionTop animated:NO]; + // self.tableView.allowsSelection = YES; + // self.tableView.scrollEnabled = YES; + // } + // else { + // [WerdMergeAppDelegate prompt:@"No Results" withMessage:@"Sorry, that word isn't in our dictionary" andButtonTitle:@"Alright" withDelegate:self]; + // } + // + // [MBProgressHUD hideHUDForView:self.view animated:YES]; + + //[_receivedData release]; +} + + +/* +// Only override drawRect: if you perform custom drawing. +// An empty implementation adversely affects performance during animation. +- (void)drawRect:(CGRect)rect { + // Drawing code. +} +*/ + +- (void)dealloc { + [photoList release]; + [super dealloc]; +} + + +@end |