summaryrefslogtreecommitdiffstats
path: root/Mac/PythonLauncher/FileSettings.m
diff options
context:
space:
mode:
Diffstat (limited to 'Mac/PythonLauncher/FileSettings.m')
-rwxr-xr-xMac/PythonLauncher/FileSettings.m46
1 files changed, 20 insertions, 26 deletions
diff --git a/Mac/PythonLauncher/FileSettings.m b/Mac/PythonLauncher/FileSettings.m
index 66b4fdc..3438870 100755
--- a/Mac/PythonLauncher/FileSettings.m
+++ b/Mac/PythonLauncher/FileSettings.m
@@ -14,7 +14,7 @@
{
static FileSettings *fsdefault_py, *fsdefault_pyw, *fsdefault_pyc;
FileSettings **curdefault;
-
+
if ([filetype isEqualToString: @"Python Script"]) {
curdefault = &fsdefault_py;
} else if ([filetype isEqualToString: @"Python GUI Script"]) {
@@ -36,7 +36,7 @@
{
static FileSettings *default_py, *default_pyw, *default_pyc;
FileSettings **curdefault;
-
+
if ([filetype isEqualToString: @"Python Script"]) {
curdefault = &default_py;
} else if ([filetype isEqualToString: @"Python GUI Script"]) {
@@ -57,7 +57,7 @@
+ (id)newSettingsForFileType: (NSString *)filetype
{
FileSettings *cur;
-
+
cur = [FileSettings new];
[cur initForFileType: filetype];
return [cur retain];
@@ -67,7 +67,7 @@
{
self = [super init];
if (!self) return self;
-
+
interpreter = [source->interpreter retain];
honourhashbang = source->honourhashbang;
debug = source->debug;
@@ -81,36 +81,30 @@
with_terminal = source->with_terminal;
prefskey = source->prefskey;
if (prefskey) [prefskey retain];
-
+
return self;
}
- (id)initForFileType: (NSString *)filetype
{
FileSettings *defaults;
-
+
defaults = [FileSettings getDefaultsForFileType: filetype];
self = [self initWithFileSettings: defaults];
origsource = [defaults retain];
return self;
}
-//- (id)init
-//{
-// self = [self initForFileType: @"Python Script"];
-// return self;
-//}
-
- (id)initForFSDefaultFileType: (NSString *)filetype
{
int i;
NSString *filename;
NSDictionary *dict;
static NSDictionary *factorySettings;
-
+
self = [super init];
if (!self) return self;
-
+
if (factorySettings == NULL) {
NSBundle *bdl = [NSBundle mainBundle];
NSString *path = [ bdl pathForResource: @"factorySettings"
@@ -149,18 +143,18 @@
{
NSUserDefaults *defaults;
NSDictionary *dict;
-
+
defaults = [NSUserDefaults standardUserDefaults];
dict = [defaults dictionaryForKey: filetype];
if (!dict)
return;
[self applyValuesFromDict: dict];
}
-
+
- (id)initForDefaultFileType: (NSString *)filetype
{
FileSettings *fsdefaults;
-
+
fsdefaults = [FileSettings getFactorySettingsForFileType: filetype];
self = [self initWithFileSettings: fsdefaults];
if (!self) return self;
@@ -220,7 +214,7 @@
- (void)applyValuesFromDict: (NSDictionary *)dict
{
id value;
-
+
value = [dict objectForKey: @"interpreter"];
if (value) interpreter = [value retain];
value = [dict objectForKey: @"honourhashbang"];
@@ -247,12 +241,12 @@
- (NSString*)_replaceSingleQuotes: (NSString*)string
{
- /* Replace all single-quotes by '"'"', that way shellquoting will
- * be correct when the result value is delimited using single quotes.
- */
- NSArray* components = [string componentsSeparatedByString:@"'"];
+ /* Replace all single-quotes by '"'"', that way shellquoting will
+ * be correct when the result value is delimited using single quotes.
+ */
+ NSArray* components = [string componentsSeparatedByString:@"'"];
- return [components componentsJoinedByString:@"'\"'\"'"];
+ return [components componentsJoinedByString:@"'\"'\"'"];
}
- (NSString *)commandLineForScript: (NSString *)script
@@ -265,7 +259,7 @@
script_dir = [script substringToIndex:
[script length]-[[script lastPathComponent] length]];
-
+
if (honourhashbang &&
(fp=fopen([script fileSystemRepresentation], "r")) &&
fgets(hashbangbuf, sizeof(hashbangbuf), fp) &&
@@ -278,7 +272,7 @@
}
if (!cur_interp)
cur_interp = interpreter;
-
+
return [NSString stringWithFormat:
@"cd '%@' && '%@'%s%s%s%s%s%s %@ '%@' %@ %s",
[self _replaceSingleQuotes:script_dir],
@@ -297,7 +291,7 @@
- (NSArray *) interpreters { return interpreters;};
-// FileSettingsSource protocol
+// FileSettingsSource protocol
- (NSString *) interpreter { return interpreter;};
- (BOOL) honourhashbang { return honourhashbang; };
- (BOOL) debug { return debug;};