mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-29 17:34:43 +00:00
cleaned up various modules
This commit is contained in:
@@ -16,14 +16,14 @@ type
|
||||
TDbConn* = PPGconn ## encapsulates a database connection
|
||||
TRow* = seq[string] ## a row of a dataset. NULL database values will be
|
||||
## transformed always to the empty string.
|
||||
EDb* = object of EIO ## exception that is raised if a database error occurs
|
||||
EDb* = object of IOError ## exception that is raised if a database error occurs
|
||||
|
||||
TSqlQuery* = distinct string ## an SQL query string
|
||||
|
||||
FDb* = object of FIO ## effect that denotes a database operation
|
||||
FReadDb* = object of FDB ## effect that denotes a read operation
|
||||
FWriteDb* = object of FDB ## effect that denotes a write operation
|
||||
|
||||
FDb* = object of IOEffect ## effect that denotes a database operation
|
||||
FReadDb* = object of FDb ## effect that denotes a read operation
|
||||
FWriteDb* = object of FDb ## effect that denotes a write operation
|
||||
|
||||
proc sql*(query: string): TSqlQuery {.noSideEffect, inline.} =
|
||||
## constructs a TSqlQuery from the string `query`. This is supposed to be
|
||||
## used as a raw-string-literal modifier:
|
||||
|
||||
@@ -1,20 +1,21 @@
|
||||
import posix, strutils, os
|
||||
|
||||
type
|
||||
Tstatfs {.importc: "struct statfs64",
|
||||
header: "<sys/statfs.h>", final, pure.} = object
|
||||
f_type: int
|
||||
f_bsize: int
|
||||
f_blocks: int
|
||||
f_bfree: int
|
||||
f_bavail: int
|
||||
f_files: int
|
||||
f_ffree: int
|
||||
f_fsid: int
|
||||
f_namelen: int
|
||||
when false:
|
||||
type
|
||||
Tstatfs {.importc: "struct statfs64",
|
||||
header: "<sys/statfs.h>", final, pure.} = object
|
||||
f_type: int
|
||||
f_bsize: int
|
||||
f_blocks: int
|
||||
f_bfree: int
|
||||
f_bavail: int
|
||||
f_files: int
|
||||
f_ffree: int
|
||||
f_fsid: int
|
||||
f_namelen: int
|
||||
|
||||
proc statfs(path: string, buf: var Tstatfs): int {.
|
||||
importc, header: "<sys/vfs.h>".}
|
||||
proc statfs(path: string, buf: var Tstatfs): int {.
|
||||
importc, header: "<sys/vfs.h>".}
|
||||
|
||||
|
||||
proc getSystemVersion*(): string =
|
||||
@@ -23,7 +24,7 @@ proc getSystemVersion*(): string =
|
||||
var unix_info: TUtsname
|
||||
|
||||
if uname(unix_info) != 0:
|
||||
os.OSError()
|
||||
os.raiseOSError(osLastError())
|
||||
|
||||
if $unix_info.sysname == "Linux":
|
||||
# Linux
|
||||
|
||||
@@ -375,7 +375,7 @@ proc getFileSize*(file: string): BiggestInt =
|
||||
var hFile = findFirstFileA(file, fileData)
|
||||
|
||||
if hFile == INVALID_HANDLE_VALUE:
|
||||
raise newException(EIO, $getLastError())
|
||||
raise newException(IOError, $getLastError())
|
||||
|
||||
return fileData.nFileSizeLow
|
||||
|
||||
@@ -386,10 +386,10 @@ proc getDiskFreeSpaceEx*(lpDirectoryName: cstring, lpFreeBytesAvailableToCaller,
|
||||
|
||||
proc getPartitionInfo*(partition: string): TPartitionInfo =
|
||||
## Retrieves partition info, for example ``partition`` may be ``"C:\"``
|
||||
var FreeBytes, TotalBytes, TotalFreeBytes: TFiletime
|
||||
var res = getDiskFreeSpaceEx(r"C:\", FreeBytes, TotalBytes,
|
||||
TotalFreeBytes)
|
||||
return (FreeBytes, TotalBytes)
|
||||
var freeBytes, totalBytes, totalFreeBytes: TFiletime
|
||||
discard getDiskFreeSpaceEx(r"C:\", freeBytes, totalBytes,
|
||||
totalFreeBytes)
|
||||
return (freeBytes, totalBytes)
|
||||
|
||||
when isMainModule:
|
||||
var r = getMemoryInfo()
|
||||
|
||||
@@ -15,13 +15,13 @@
|
||||
|
||||
when defined(Windows):
|
||||
proc readLineFromStdin*(prompt: string): TaintedString {.
|
||||
tags: [FReadIO, FWriteIO].} =
|
||||
tags: [ReadIOEffect, WriteIOEffect].} =
|
||||
## Reads a line from stdin.
|
||||
stdout.write(prompt)
|
||||
result = readLine(stdin)
|
||||
|
||||
proc readLineFromStdin*(prompt: string, line: var TaintedString): bool {.
|
||||
tags: [FReadIO, FWriteIO].} =
|
||||
tags: [ReadIOEffect, WriteIOEffect].} =
|
||||
## Reads a `line` from stdin. `line` must not be
|
||||
## ``nil``! May throw an IO exception.
|
||||
## A line of text may be delimited by ``CR``, ``LF`` or
|
||||
@@ -35,7 +35,7 @@ else:
|
||||
import readline, history
|
||||
|
||||
proc readLineFromStdin*(prompt: string): TaintedString {.
|
||||
tags: [FReadIO, FWriteIO].} =
|
||||
tags: [ReadIOEffect, WriteIOEffect].} =
|
||||
var buffer = readline.readLine(prompt)
|
||||
if isNil(buffer): quit(0)
|
||||
result = TaintedString($buffer)
|
||||
@@ -44,7 +44,7 @@ else:
|
||||
readline.free(buffer)
|
||||
|
||||
proc readLineFromStdin*(prompt: string, line: var TaintedString): bool {.
|
||||
tags: [FReadIO, FWriteIO].} =
|
||||
tags: [ReadIOEffect, WriteIOEffect].} =
|
||||
var buffer = readline.readLine(prompt)
|
||||
if isNil(buffer): quit(0)
|
||||
line = TaintedString($buffer)
|
||||
|
||||
@@ -13,18 +13,18 @@ import
|
||||
streams, libzip, times, os
|
||||
|
||||
type
|
||||
TZipArchive* = object of TObject ## represents a zip archive
|
||||
mode: TFileMode
|
||||
TZipArchive* = object of RootObj ## represents a zip archive
|
||||
mode: FileMode
|
||||
w: PZip
|
||||
|
||||
|
||||
proc zipError(z: var TZipArchive) =
|
||||
var e: ref EIO
|
||||
var e: ref IOError
|
||||
new(e)
|
||||
e.msg = $zip_strerror(z.w)
|
||||
raise e
|
||||
|
||||
proc open*(z: var TZipArchive, filename: string, mode: TFileMode = fmRead): bool =
|
||||
proc open*(z: var TZipArchive, filename: string, mode: FileMode = fmRead): bool =
|
||||
## Opens a zip file for reading, writing or appending. All file modes are
|
||||
## supported. Returns true iff successful, false otherwise.
|
||||
var err, flags: int32
|
||||
@@ -72,7 +72,7 @@ proc addFile*(z: var TZipArchive, file: string) =
|
||||
|
||||
proc mySourceCallback(state, data: pointer, len: int,
|
||||
cmd: TZipSourceCmd): int {.cdecl.} =
|
||||
var src = cast[PStream](state)
|
||||
var src = cast[Stream](state)
|
||||
case cmd
|
||||
of ZIP_SOURCE_OPEN:
|
||||
if src.setPositionImpl != nil: setPosition(src, 0) # reset
|
||||
@@ -93,7 +93,7 @@ proc mySourceCallback(state, data: pointer, len: int,
|
||||
of constZIP_SOURCE_FREE: GC_unref(src)
|
||||
else: assert(false)
|
||||
|
||||
proc addFile*(z: var TZipArchive, dest: string, src: PStream) =
|
||||
proc addFile*(z: var TZipArchive, dest: string, src: Stream) =
|
||||
## Adds a file named with `dest` to the archive `z`. `dest`
|
||||
## may contain a path. The file's content is read from the `src` stream.
|
||||
assert(z.mode != fmRead)
|
||||
@@ -107,14 +107,14 @@ proc addFile*(z: var TZipArchive, dest: string, src: PStream) =
|
||||
# -------------- zip file stream ---------------------------------------------
|
||||
|
||||
type
|
||||
TZipFileStream = object of TStream
|
||||
TZipFileStream = object of StreamObj
|
||||
f: PZipFile
|
||||
|
||||
PZipFileStream* =
|
||||
ref TZipFileStream ## a reader stream of a file within a zip archive
|
||||
|
||||
proc fsClose(s: PStream) = zip_fclose(PZipFileStream(s).f)
|
||||
proc fsReadData(s: PStream, buffer: pointer, bufLen: int): int =
|
||||
proc fsClose(s: Stream) = zip_fclose(PZipFileStream(s).f)
|
||||
proc fsReadData(s: Stream, buffer: pointer, bufLen: int): int =
|
||||
result = zip_fread(PZipFileStream(s).f, buffer, bufLen)
|
||||
|
||||
proc newZipFileStream(f: PZipFile): PZipFileStream =
|
||||
@@ -144,7 +144,7 @@ iterator walkFiles*(z: var TZipArchive): string =
|
||||
inc(i)
|
||||
|
||||
|
||||
proc extractFile*(z: var TZipArchive, srcFile: string, dest: PStream) =
|
||||
proc extractFile*(z: var TZipArchive, srcFile: string, dest: Stream) =
|
||||
## extracts a file from the zip archive `z` to the destination stream.
|
||||
var strm = getStream(z, srcFile)
|
||||
while true:
|
||||
|
||||
@@ -176,7 +176,7 @@ proc ParserCreate_MM*(encoding: cstring, memsuite: ptr TMemory_Handling_Suite,
|
||||
# Added in Expat 1.95.3.
|
||||
#
|
||||
|
||||
proc ParserReset*(parser: PParser, encoding: cstring): Bool{.cdecl,
|
||||
proc ParserReset*(parser: PParser, encoding: cstring): bool{.cdecl,
|
||||
importc: "XML_ParserReset", dynlib: expatDll.}
|
||||
# atts is array of name/value pairs, terminated by 0;
|
||||
# names and values are 0 terminated.
|
||||
@@ -601,7 +601,7 @@ proc UseParserAsHandlerArg*(parser: PParser){.cdecl,
|
||||
# XML_ERROR_FEATURE_REQUIRES_XML_DTD.
|
||||
#
|
||||
|
||||
proc UseForeignDTD*(parser: PParser, useDTD: Bool): TError{.cdecl,
|
||||
proc UseForeignDTD*(parser: PParser, useDTD: bool): TError{.cdecl,
|
||||
importc: "XML_UseForeignDTD", dynlib: expatDll.}
|
||||
# Sets the base to be used for resolving relative URIs in system
|
||||
# identifiers in declarations. Resolving relative identifiers is
|
||||
@@ -681,7 +681,7 @@ proc ParseBuffer*(parser: PParser, len: cint, isFinal: cint): TStatus{.cdecl,
|
||||
# When suspended, parsing can be resumed by calling XML_ResumeParser().
|
||||
#
|
||||
|
||||
proc StopParser*(parser: PParser, resumable: Bool): TStatus{.cdecl,
|
||||
proc StopParser*(parser: PParser, resumable: bool): TStatus{.cdecl,
|
||||
importc: "XML_StopParser", dynlib: expatDll.}
|
||||
# Resumes parsing after it has been suspended with XML_StopParser().
|
||||
# Must not be called from within a handler call-back. Returns same
|
||||
@@ -703,7 +703,7 @@ type
|
||||
INITIALIZED, PARSING, FINISHED, SUSPENDED
|
||||
TParsingStatus*{.pure, final.} = object
|
||||
parsing*: TParsing
|
||||
finalBuffer*: Bool
|
||||
finalBuffer*: bool
|
||||
|
||||
|
||||
# Returns status of parser with respect to being initialized, parsing,
|
||||
|
||||
@@ -68,9 +68,9 @@ type
|
||||
dbName*: cstring
|
||||
status*: TConnStatusType
|
||||
errorMessage*: array[0..(ERROR_MSG_LENGTH) - 1, char]
|
||||
Pfin*: TFile
|
||||
Pfout*: TFile
|
||||
Pfdebug*: TFile
|
||||
Pfin*: File
|
||||
Pfout*: File
|
||||
Pfdebug*: File
|
||||
sock*: int32
|
||||
laddr*: TSockAddr
|
||||
raddr*: TSockAddr
|
||||
@@ -199,7 +199,7 @@ when defined(USE_SSL):
|
||||
importc: "PQgetssl".}
|
||||
proc pqsetErrorVerbosity*(conn: PPGconn, verbosity: PGVerbosity): PGVerbosity{.
|
||||
cdecl, dynlib: dllName, importc: "PQsetErrorVerbosity".}
|
||||
proc pqtrace*(conn: PPGconn, debug_port: TFile){.cdecl, dynlib: dllName,
|
||||
proc pqtrace*(conn: PPGconn, debug_port: File){.cdecl, dynlib: dllName,
|
||||
importc: "PQtrace".}
|
||||
proc pquntrace*(conn: PPGconn){.cdecl, dynlib: dllName, importc: "PQuntrace".}
|
||||
proc pqsetNoticeReceiver*(conn: PPGconn, theProc: PQnoticeReceiver, arg: pointer): PQnoticeReceiver{.
|
||||
@@ -315,12 +315,12 @@ proc pqescapeBytea*(bintext: cstring, binlen: int, bytealen: var int): cstring{.
|
||||
cdecl, dynlib: dllName, importc: "PQescapeBytea".}
|
||||
proc pqunescapeBytea*(strtext: cstring, retbuflen: var int): cstring{.cdecl,
|
||||
dynlib: dllName, importc: "PQunescapeBytea".}
|
||||
proc pqprint*(fout: TFile, res: PPGresult, ps: PPQprintOpt){.cdecl,
|
||||
proc pqprint*(fout: File, res: PPGresult, ps: PPQprintOpt){.cdecl,
|
||||
dynlib: dllName, importc: "PQprint".}
|
||||
proc pqdisplayTuples*(res: PPGresult, fp: TFile, fillAlign: int32,
|
||||
proc pqdisplayTuples*(res: PPGresult, fp: File, fillAlign: int32,
|
||||
fieldSep: cstring, printHeader: int32, quiet: int32){.
|
||||
cdecl, dynlib: dllName, importc: "PQdisplayTuples".}
|
||||
proc pqprintTuples*(res: PPGresult, fout: TFile, printAttName: int32,
|
||||
proc pqprintTuples*(res: PPGresult, fout: File, printAttName: int32,
|
||||
terseOutput: int32, width: int32){.cdecl, dynlib: dllName,
|
||||
importc: "PQprintTuples".}
|
||||
proc lo_open*(conn: PPGconn, lobjId: Oid, mode: int32): int32{.cdecl,
|
||||
|
||||
@@ -142,7 +142,7 @@ proc history_get*(a2: cint): ptr THIST_ENTRY{.cdecl, importc: "history_get",
|
||||
# Return the timestamp associated with the HIST_ENTRY * passed as an
|
||||
# argument
|
||||
|
||||
proc history_get_time*(a2: ptr THIST_ENTRY): TTime{.cdecl,
|
||||
proc history_get_time*(a2: ptr THIST_ENTRY): Time{.cdecl,
|
||||
importc: "history_get_time", dynlib: historyDll.}
|
||||
# Return the number of bytes that the primary history entries are using.
|
||||
# This just adds up the lengths of the_history->lines.
|
||||
|
||||
@@ -776,7 +776,7 @@ proc execute_next*(a2: cint): cint{.cdecl, importc: "rl_execute_next",
|
||||
proc clear_pending_input*(): cint{.cdecl, importc: "rl_clear_pending_input",
|
||||
dynlib: readlineDll.}
|
||||
proc read_key*(): cint{.cdecl, importc: "rl_read_key", dynlib: readlineDll.}
|
||||
proc getc*(a2: TFile): cint{.cdecl, importc: "rl_getc", dynlib: readlineDll.}
|
||||
proc getc*(a2: File): cint{.cdecl, importc: "rl_getc", dynlib: readlineDll.}
|
||||
proc set_keyboard_input_timeout*(a2: cint): cint{.cdecl,
|
||||
importc: "rl_set_keyboard_input_timeout", dynlib: readlineDll.}
|
||||
# `Public' utility functions .
|
||||
@@ -881,8 +881,8 @@ when false:
|
||||
# The name of the terminal to use.
|
||||
var terminal_name*{.importc: "rl_terminal_name", dynlib: readlineDll.}: cstring
|
||||
# The input and output streams.
|
||||
var instream*{.importc: "rl_instream", dynlib: readlineDll.}: TFile
|
||||
var outstream*{.importc: "rl_outstream", dynlib: readlineDll.}: TFile
|
||||
var instream*{.importc: "rl_instream", dynlib: readlineDll.}: File
|
||||
var outstream*{.importc: "rl_outstream", dynlib: readlineDll.}: File
|
||||
# If non-zero, Readline gives values of LINES and COLUMNS from the environment
|
||||
# greater precedence than values fetched from the kernel when computing the
|
||||
# screen dimensions.
|
||||
@@ -1184,8 +1184,8 @@ type
|
||||
insmode*: cint
|
||||
edmode*: cint
|
||||
kseqlen*: cint
|
||||
inf*: TFile
|
||||
outf*: TFile
|
||||
inf*: File
|
||||
outf*: File
|
||||
pendingin*: cint
|
||||
theMacro*: cstring # signal state
|
||||
catchsigs*: cint
|
||||
|
||||
@@ -48,7 +48,7 @@ type
|
||||
# Input function type
|
||||
|
||||
type
|
||||
Tgetc_func* = proc (a2: TFile): cint{.cdecl.}
|
||||
Tgetc_func* = proc (a2: File): cint{.cdecl.}
|
||||
|
||||
# Generic function that takes a character buffer (which could be the readline
|
||||
# line buffer) and an index into it (which could be rl_point) and returns
|
||||
|
||||
@@ -64,15 +64,15 @@ type
|
||||
TZipSourceCallback* = proc (state: pointer, data: pointer, length: int,
|
||||
cmd: TZipSourceCmd): int {.cdecl.}
|
||||
PZipStat* = ptr TZipStat
|
||||
TZipStat* = object ## the 'zip_stat' struct
|
||||
TZipStat* = object ## the 'zip_stat' struct
|
||||
name*: cstring ## name of the file
|
||||
index*: int32 ## index within archive
|
||||
crc*: int32 ## crc of file data
|
||||
mtime*: TTime ## modification time
|
||||
mtime*: Time ## modification time
|
||||
size*: int ## size of file (uncompressed)
|
||||
compSize*: int ## size of file (compressed)
|
||||
compMethod*: int16 ## compression method used
|
||||
encryptionMethod*: int16 ## encryption method used
|
||||
compSize*: int ## size of file (compressed)
|
||||
compMethod*: int16 ## compression method used
|
||||
encryptionMethod*: int16 ## encryption method used
|
||||
|
||||
TZip = object
|
||||
TZipSource = object
|
||||
@@ -225,7 +225,7 @@ proc zip_source_buffer*(para1: PZip, para2: pointer, para3: int, para4: int32):
|
||||
cdecl, mydll, importc: "zip_source_buffer".}
|
||||
proc zip_source_file*(para1: PZip, para2: cstring, para3: int, para4: int): PZipSource {.
|
||||
cdecl, mydll, importc: "zip_source_file".}
|
||||
proc zip_source_filep*(para1: PZip, para2: TFile, para3: int, para4: int): PZipSource {.
|
||||
proc zip_source_filep*(para1: PZip, para2: File, para3: int, para4: int): PZipSource {.
|
||||
cdecl, mydll, importc: "zip_source_filep".}
|
||||
proc zip_source_free*(para1: PZipSource) {.cdecl, mydll,
|
||||
importc: "zip_source_free".}
|
||||
|
||||
@@ -80,7 +80,7 @@ webdoc: "wrappers/expat;wrappers/pcre"
|
||||
webdoc: "wrappers/tre;wrappers/openssl"
|
||||
webdoc: "wrappers/libuv;wrappers/joyent_http_parser"
|
||||
|
||||
webdoc: "posix/posix;wrappers/odbcsql;impure/dialogs"
|
||||
webdoc: "posix/posix;wrappers/odbcsql"
|
||||
webdoc: "wrappers/zip/zlib;wrappers/zip/libzip"
|
||||
webdoc: "wrappers/libsvm.nim"
|
||||
webdoc: "windows"
|
||||
|
||||
Reference in New Issue
Block a user